diff --git a/BKP/Main/Experts/x-saherelm.xtest.ea.mq5 b/BKP/Main/Experts/x-saherelm.xgpus5.ea.mq5 similarity index 67% rename from BKP/Main/Experts/x-saherelm.xtest.ea.mq5 rename to BKP/Main/Experts/x-saherelm.xgpus5.ea.mq5 index a41c1882..2b8b950e 100644 --- a/BKP/Main/Experts/x-saherelm.xtest.ea.mq5 +++ b/BKP/Main/Experts/x-saherelm.xgpus5.ea.mq5 @@ -2,7 +2,7 @@ // // SaherElm IT Center MQL5 Expert Advisor // ---------------------------------------- -// Name: XTEST +// Name: XGPUS5 // 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 XTEST EA" +#property description "SaherElm XGPUS5 EA" #property strict // @@ -28,9 +28,9 @@ input group "Commons"; // // XCTIMER inputs ... -input bool xTESTShowCandleTimer = true; // Show Condle Remaining Time -input color xTESTCandleTimerColot = clrYellow; // Candle Timer Color -input ENUM_BASE_CORNER xTESTCandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer +input bool xGPUS5ShowCandleTimer = true; // Show Condle Remaining Time +input color xGPUS5CandleTimerColot = clrYellow; // Candle Timer Color +input ENUM_BASE_CORNER xGPUS5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer // // END Inputs ... @@ -57,8 +57,8 @@ input ENUM_BASE_CORNER xTESTCandleTimerCorner = CORNER_RIGHT_LOWER; // Where to #include "../Libraries/x-saherelm.draw.lib.mq5" // -// XTEST Signal Provider ... -#include "../Providers/x-saherelm.xtest.provider.lib.mq5" +// XGPUS5 Signal Provider ... +#include "../Providers/x-saherelm.xgpus5.provider.lib.mq5" // // END Including Providers ... @@ -67,13 +67,13 @@ input ENUM_BASE_CORNER xTESTCandleTimerCorner = CORNER_RIGHT_LOWER; // Where to // // START Global Definitions: Variables, Properties and etc ... // -bool isXTESTNewHour; -bool isXTESTNewDay; -bool isXTESTNewWeek; -bool isXTESTNewMonth; +bool isXGPUS5NewHour; +bool isXGPUS5NewDay; +bool isXGPUS5NewWeek; +bool isXGPUS5NewMonth; // -int xTESTCTimerHandler = INVALID_HANDLE; +int xGPUS5CTimerHandler = INVALID_HANDLE; // // END Global Definitions: Variables, Properties and etc ... // @@ -87,7 +87,7 @@ int xTESTCTimerHandler = INVALID_HANDLE; int OnInit() { // - logTag = "XTESTEA"; + logTag = "XGPUS5EA"; drawPrefix = logTag; alertPrefix = logTag; @@ -107,17 +107,17 @@ int OnInit() } // - // Initialize XTEST Provider ... - if (!XTESTInitSignalProviderLibrary()) + // Initialize XGPUS5 Provider ... + if (!XGPUS5InitSignalProviderLibrary()) { return INIT_PARAMETERS_INCORRECT; } // // Init XCTimer ... - if (xTESTShowCandleTimer) + if (xGPUS5ShowCandleTimer) { - if (!XTESTCTimerInit()) + if (!XGPUS5CTimerInit()) { return INIT_FAILED; } @@ -148,15 +148,15 @@ void OnDeinit(const int reason) // Here we can handle De Initialization Reasons ... // - // De Initialize XTEST Provider ... - XTESTDeinitSignalProviderLibrary(reason); + // De Initialize XGPUS5 Provider ... + XGPUS5DeinitSignalProviderLibrary(reason); // // De Init XDraw Library ... // OnDeinitDrawLibrary(); // - IndicatorRelease(xTESTCTimerHandler); + IndicatorRelease(xGPUS5CTimerHandler); } // @@ -166,15 +166,15 @@ void OnTick() // // Handle Monthly Alert ... bool isFirstMonth = xMonth == -1; - isXTESTNewMonth = IsNewMonth(); + isXGPUS5NewMonth = IsNewMonth(); bool canMonthlyAlert = - isXTESTNewMonth && - xTESTEnableAlerts && - xTESTEnableMonthlyAlerts; + isXGPUS5NewMonth && + xGPUS5EnableAlerts && + xGPUS5EnableMonthlyAlerts; bool canMonthlyReport = !isFirstMonth && canMonthlyAlert && - xTESTEnableMonthlyReports; + xGPUS5EnableMonthlyReports; if (canMonthlyAlert) { // @@ -185,7 +185,7 @@ void OnTick() if (canMonthlyReport) { // - string report = xTESTReporter.GenerateReportString(XREPORT_MONTHLY); + string report = xGPUS5Reporter.GenerateReportString(XREPORT_MONTHLY); // message = "Last Month Report:\n" + report; @@ -193,7 +193,7 @@ void OnTick() // // Reset Report ... - xTESTReporter.Reset(XREPORT_MONTHLY); + xGPUS5Reporter.Reset(XREPORT_MONTHLY); // SendAlert(message); @@ -202,15 +202,15 @@ void OnTick() // // Handle Weekly Alert ... bool isFirstWeek = xDayOfWeek == -1; - isXTESTNewWeek = IsNewWeek(); + isXGPUS5NewWeek = IsNewWeek(); bool canWeeklyAlert = - isXTESTNewWeek && - xTESTEnableAlerts && - xTESTEnableWeeklyAlerts; + isXGPUS5NewWeek && + xGPUS5EnableAlerts && + xGPUS5EnableWeeklyAlerts; bool canWeeklyReport = !isFirstWeek && canWeeklyAlert && - xTESTEnableWeeklyReports; + xGPUS5EnableWeeklyReports; if (canWeeklyAlert) { // @@ -221,7 +221,7 @@ void OnTick() if (canWeeklyReport) { // - string report = xTESTReporter.GenerateReportString(XREPORT_WEEKLY); + string report = xGPUS5Reporter.GenerateReportString(XREPORT_WEEKLY); // message = "Last Week Report:\n" + report; @@ -229,7 +229,7 @@ void OnTick() // // Reset Report ... - xTESTReporter.Reset(XREPORT_WEEKLY); + xGPUS5Reporter.Reset(XREPORT_WEEKLY); // SendAlert(message); @@ -238,15 +238,15 @@ void OnTick() // // Handle Daily Alert ... bool isFirstDay = xDay == -1; - isXTESTNewDay = IsNewDay(); + isXGPUS5NewDay = IsNewDay(); bool canDailyAlert = - isXTESTNewDay && - xTESTEnableAlerts && - xTESTEnableDailyAlerts; + isXGPUS5NewDay && + xGPUS5EnableAlerts && + xGPUS5EnableDailyAlerts; bool canDailyReport = !isFirstDay && canDailyAlert && - xTESTEnableDailyReports; + xGPUS5EnableDailyReports; if (canDailyAlert) { // @@ -257,7 +257,7 @@ void OnTick() if (canDailyReport) { // - string report = xTESTReporter.GenerateReportString(XREPORT_DAILY); + string report = xGPUS5Reporter.GenerateReportString(XREPORT_DAILY); // message = "Last Week Report:\n" + report; @@ -265,7 +265,7 @@ void OnTick() // // Reset Report ... - xTESTReporter.Reset(XREPORT_DAILY); + xGPUS5Reporter.Reset(XREPORT_DAILY); // SendAlert(message); @@ -274,11 +274,11 @@ void OnTick() // // Handle Hourly Alert ... bool isFirstHour = xHour == -1; - isXTESTNewHour = IsNewHour(); + isXGPUS5NewHour = IsNewHour(); bool canHourlyAlert = - isXTESTNewHour && - xTESTEnableAlerts && - xTESTEnableHourlyAlerts; + isXGPUS5NewHour && + xGPUS5EnableAlerts && + xGPUS5EnableHourlyAlerts; if (canHourlyAlert) { // @@ -290,33 +290,33 @@ void OnTick() // // Prevent Going Forward if user Disable it ... - if (xTESTEnableProvider) + if (xGPUS5EnableProvider) { // - // Handle Processing on XTEST Signal Provider ... - XTESTSignalProviderDoControlState(); + // Handle Processing on XGPUS5 Signal Provider ... + XGPUS5SignalProviderDoControlState(); } // // Check Can Ignore Tick or not .. - bool canIgnoreTick = xTESTIsTestMode + bool canIgnoreTick = xGPUS5IsTestMode ? !IsNewCandle() - : !IsNewCandle() && xTESTWaitUntilNextCandle; + : !IsNewCandle() && xGPUS5WaitUntilNextCandle; if (canIgnoreTick) { return; } // - xTESTWaitUntilNextCandle = false; + xGPUS5WaitUntilNextCandle = false; // // Prevent Going Forward if user Disable it ... - if (xTESTEnableProvider) + if (xGPUS5EnableProvider) { // - // Handle Processing on XTEST Signal Provider ... - XTESTSignalProviderHandleTick(); + // Handle Processing on XGPUS5 Signal Provider ... + XGPUS5SignalProviderHandleTick(); } } @@ -327,11 +327,11 @@ void OnTrade() // // Prevent Going Forward if user Disable it ... - if (xTESTEnableProvider) + if (xGPUS5EnableProvider) { // - // Handle Processing Trades on XTEST Signal Provider ... - XTESTSignalProviderHandleTrade(); + // Handle Processing Trades on XGPUS5 Signal Provider ... + XGPUS5SignalProviderHandleTrade(); } } @@ -354,8 +354,8 @@ bool ValidateInputs() // Validate Args ... // - // Validate XTEST Provider Inputs ... - result = XTESTValidateInputs(); + // Validate XGPUS5 Provider Inputs ... + result = XGPUS5ValidateInputs(); if (!result) { return false; @@ -370,23 +370,23 @@ bool ValidateInputs() return result; } -bool XTESTCTimerInit() +bool XGPUS5CTimerInit() { // bool result = true; // - xTESTCTimerHandler = iCustom( + xGPUS5CTimerHandler = iCustom( _Symbol, _Period, "x-saherelm.xctimer.indicator", // // Inputs ... - xTESTCandleTimerColot, - xTESTCandleTimerCorner); + xGPUS5CandleTimerColot, + xGPUS5CandleTimerCorner); // - if (xTESTCTimerHandler == INVALID_HANDLE) + if (xGPUS5CTimerHandler == INVALID_HANDLE) { result = false; } diff --git a/Providers/x-saherelm.xtest.provider.indicators.lib.mq5 b/BKP/Main/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 similarity index 98% rename from Providers/x-saherelm.xtest.provider.indicators.lib.mq5 rename to BKP/Main/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 index bebc659b..5d1edf1f 100644 --- a/Providers/x-saherelm.xtest.provider.indicators.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////// // -// SaherElm IT Center MQL5 XTEST Signal Provider Indicators Library +// SaherElm IT Center MQL5 XGPUS5 Signal Provider Indicators Library // ---------------------------------------------------------------- // // Maintainer: @@ -18,7 +18,7 @@ // // Include Provider Inputs ... -#include "x-saherelm.xtest.provider.inputs.lib.mq5" +#include "x-saherelm.xgpus5.provider.inputs.lib.mq5" // // Include Provider Class ... @@ -26,136 +26,136 @@ // // Signallers ... -input group "XTEST Signallers"; +input group "XGPUS5 Signallers"; // // XTD ... -input group "XTEST XTD Signaller"; -input bool xTESTXTDEnableSignaller = true; // Enable Signaller -input bool xTESTXTDAllowLongSignals = true; // Enable Long Signals -input bool xTESTXTDAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XTD Signaller"; +input bool xGPUS5XTDEnableSignaller = true; // Enable Signaller +input bool xGPUS5XTDAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XTDAllowShortSignals = true; // Enable Short Signals // // XTAM ... -input group "XTEST XTAM Signaller"; -input bool xTESTXTAMEnableSignaller = true; // Enable Signaller -input bool xTESTXTAMAllowLongSignals = true; // Enable Long Signals -input bool xTESTXTAMAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XTAM Signaller"; +input bool xGPUS5XTAMEnableSignaller = true; // Enable Signaller +input bool xGPUS5XTAMAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XTAMAllowShortSignals = true; // Enable Short Signals // // XSI ... -input group "XTEST XSI Signaller"; -input bool xTESTXSIEnableSignaller = true; // Enable Signaller -input bool xTESTXSIAllowLongSignals = true; // Enable Long Signals -input bool xTESTXSIAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XSI Signaller"; +input bool xGPUS5XSIEnableSignaller = true; // Enable Signaller +input bool xGPUS5XSIAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XSIAllowShortSignals = true; // Enable Short Signals // // XTSFI ... -input group "XTEST XTSFI Signaller"; -input bool xTESTXTSFIEnableSignaller = true; // Enable Signaller -input bool xTESTXTSFIAllowLongSignals = true; // Enable Long Signals -input bool xTESTXTSFIAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XTSFI Signaller"; +input bool xGPUS5XTSFIEnableSignaller = true; // Enable Signaller +input bool xGPUS5XTSFIAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XTSFIAllowShortSignals = true; // Enable Short Signals // // XOBDLH ... -// input group "XTEST XOBDLH Signaller"; -// input bool xTESTXOBDLHEnableSignaller = true; // Enable Signaller -// input bool xTESTXOBDLHAllowLongSignals = true; // Enable Long Signals -// input bool xTESTXOBDLHAllowShortSignals = true; // Enable Short Signals +// input group "XGPUS5 XOBDLH Signaller"; +// input bool xGPUS5XOBDLHEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XOBDLHAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XOBDLHAllowShortSignals = true; // Enable Short Signals // // XCHMACC ... -input group "XTEST XCHMACC Signaller"; -input bool xTESTXCHMACCEnableSignaller = true; // Enable Signaller -input bool xTESTXCHMACCAllowLongSignals = true; // Enable Long Signals -input bool xTESTXCHMACCAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XCHMACC Signaller"; +input bool xGPUS5XCHMACCEnableSignaller = true; // Enable Signaller +input bool xGPUS5XCHMACCAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XCHMACCAllowShortSignals = true; // Enable Short Signals // // XCHMAMX ... -// input group "XTEST XCHMAMX Signaller"; -// input bool xTESTXCHMAMXEnableSignaller = true; // Enable Signaller -// input bool xTESTXCHMAMXAllowLongSignals = true; // Enable Long Signals -// input bool xTESTXCHMAMXAllowShortSignals = true; // Enable Short Signals +// input group "XGPUS5 XCHMAMX Signaller"; +// input bool xGPUS5XCHMAMXEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals // // XCHMAMN ... -input group "XTEST XCHMAMN Signaller"; -// input bool xTESTXCHMAMNEnableSignaller = true; // Enable Signaller -// input bool xTESTXCHMAMNAllowLongSignals = true; // Enable Long Signals -// input bool xTESTXCHMAMNAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XCHMAMN Signaller"; +// input bool xGPUS5XCHMAMNEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals // // Check in Test Mode or not ... -bool xTESTIsTestMode = false; +bool xGPUS5IsTestMode = false; // // Detect max Input Length of Indicators ... -int xTESTMaxLengthOfInputs = 0; +int xGPUS5MaxLengthOfInputs = 0; // // Detect Calculated Bars ... -int xTESTCalculatedBars = 0; +int xGPUS5CalculatedBars = 0; // // Check prevent Double Signalling on Same Candle ... -bool xTESTWaitUntilNextCandle = false; +bool xGPUS5WaitUntilNextCandle = false; // // Signaller Variables ... // // XTD ... -bool xTESTMXTDEnableSignaller = xTESTXTDEnableSignaller; -bool xTESTMXTDAllowLongSignals = xTESTXTDAllowLongSignals; -bool xTESTMXTDAllowShortSignals = xTESTXTDAllowShortSignals; +bool xGPUS5MXTDEnableSignaller = xGPUS5XTDEnableSignaller; +bool xGPUS5MXTDAllowLongSignals = xGPUS5XTDAllowLongSignals; +bool xGPUS5MXTDAllowShortSignals = xGPUS5XTDAllowShortSignals; // // XTAM ... -bool xTESTMXTAMEnableSignaller = xTESTXTAMEnableSignaller; -bool xTESTMXTAMAllowLongSignals = xTESTXTAMAllowLongSignals; -bool xTESTMXTAMAllowShortSignals = xTESTXTAMAllowShortSignals; +bool xGPUS5MXTAMEnableSignaller = xGPUS5XTAMEnableSignaller; +bool xGPUS5MXTAMAllowLongSignals = xGPUS5XTAMAllowLongSignals; +bool xGPUS5MXTAMAllowShortSignals = xGPUS5XTAMAllowShortSignals; // // XSI ... -bool xTESTMXSIEnableSignaller = xTESTXSIEnableSignaller; -bool xTESTMXSIAllowLongSignals = xTESTXSIAllowLongSignals; -bool xTESTMXSIAllowShortSignals = xTESTXSIAllowShortSignals; +bool xGPUS5MXSIEnableSignaller = xGPUS5XSIEnableSignaller; +bool xGPUS5MXSIAllowLongSignals = xGPUS5XSIAllowLongSignals; +bool xGPUS5MXSIAllowShortSignals = xGPUS5XSIAllowShortSignals; // // XTSFI ... -bool xTESTMXTSFIEnableSignaller = xTESTXTSFIEnableSignaller; -bool xTESTMXTSFIAllowLongSignals = xTESTXTSFIAllowLongSignals; -bool xTESTMXTSFIAllowShortSignals = xTESTXTSFIAllowShortSignals; +bool xGPUS5MXTSFIEnableSignaller = xGPUS5XTSFIEnableSignaller; +bool xGPUS5MXTSFIAllowLongSignals = xGPUS5XTSFIAllowLongSignals; +bool xGPUS5MXTSFIAllowShortSignals = xGPUS5XTSFIAllowShortSignals; // // XOBDLH ... -bool xTESTMXOBDLHEnableSignaller = false; // xTESTXOBDLHEnableSignaller; -bool xTESTMXOBDLHAllowLongSignals = false; // xTESTXOBDLHAllowLongSignals; -bool xTESTMXOBDLHAllowShortSignals = false; // xTESTXOBDLHAllowShortSignals; +bool xGPUS5MXOBDLHEnableSignaller = false; // xGPUS5XOBDLHEnableSignaller; +bool xGPUS5MXOBDLHAllowLongSignals = false; // xGPUS5XOBDLHAllowLongSignals; +bool xGPUS5MXOBDLHAllowShortSignals = false; // xGPUS5XOBDLHAllowShortSignals; // // XCHMACC ... -bool xTESTMXCHMACCEnableSignaller = xTESTXCHMACCEnableSignaller; -bool xTESTMXCHMACCAllowLongSignals = xTESTXCHMACCAllowLongSignals; -bool xTESTMXCHMACCAllowShortSignals = xTESTXCHMACCAllowShortSignals; +bool xGPUS5MXCHMACCEnableSignaller = xGPUS5XCHMACCEnableSignaller; +bool xGPUS5MXCHMACCAllowLongSignals = xGPUS5XCHMACCAllowLongSignals; +bool xGPUS5MXCHMACCAllowShortSignals = xGPUS5XCHMACCAllowShortSignals; // // XCHMAMX ... -bool xTESTMXCHMAMXEnableSignaller = false; // xTESTXCHMAMXEnableSignaller; -bool xTESTMXCHMAMXAllowLongSignals = false; // xTESTXCHMAMXAllowLongSignals; -bool xTESTMXCHMAMXAllowShortSignals = false; // xTESTXCHMAMXAllowShortSignals; +bool xGPUS5MXCHMAMXEnableSignaller = false; // xGPUS5XCHMAMXEnableSignaller; +bool xGPUS5MXCHMAMXAllowLongSignals = false; // xGPUS5XCHMAMXAllowLongSignals; +bool xGPUS5MXCHMAMXAllowShortSignals = false; // xGPUS5XCHMAMXAllowShortSignals; // // XCHMAMN ... -bool xTESTMXCHMAMNEnableSignaller = false; // xTESTXCHMAMNEnableSignaller; -bool xTESTMXCHMAMNAllowLongSignals = false; // xTESTXCHMAMNAllowLongSignals; -bool xTESTMXCHMAMNAllowShortSignals = false; // xTESTXCHMAMNAllowShortSignals; +bool xGPUS5MXCHMAMNEnableSignaller = false; // xGPUS5XCHMAMNEnableSignaller; +bool xGPUS5MXCHMAMNAllowLongSignals = false; // xGPUS5XCHMAMNAllowLongSignals; +bool xGPUS5MXCHMAMNAllowShortSignals = false; // xGPUS5XCHMAMNAllowShortSignals; // -XCProvider *xTESTProvider; +XCProvider *xGPUS5Provider; // // Validate Indicators Inputs ... -bool XTESTValidateIndicatorsInputs() +bool XGPUS5ValidateIndicatorsInputs() { // bool result = false; @@ -242,7 +242,7 @@ bool XTESTValidateIndicatorsInputs() // // Make an Instance Of XCProvider Class for Use ... - xTESTProvider = new XCProvider( + xGPUS5Provider = new XCProvider( // // Commons ... _Symbol, @@ -251,44 +251,44 @@ bool XTESTValidateIndicatorsInputs() // Signallers ... // // XTD ... - xTESTMXTDEnableSignaller, - xTESTMXTDAllowLongSignals, - xTESTMXTDAllowShortSignals, + xGPUS5MXTDEnableSignaller, + xGPUS5MXTDAllowLongSignals, + xGPUS5MXTDAllowShortSignals, // // XTAM ... - xTESTMXTAMEnableSignaller, - xTESTMXTAMAllowLongSignals, - xTESTMXTAMAllowShortSignals, + xGPUS5MXTAMEnableSignaller, + xGPUS5MXTAMAllowLongSignals, + xGPUS5MXTAMAllowShortSignals, // // XSI ... - xTESTMXSIEnableSignaller, - xTESTMXSIAllowLongSignals, - xTESTMXSIAllowShortSignals, + xGPUS5MXSIEnableSignaller, + xGPUS5MXSIAllowLongSignals, + xGPUS5MXSIAllowShortSignals, // // XTSFI ... - xTESTMXTSFIEnableSignaller, - xTESTMXTSFIAllowLongSignals, - xTESTMXTSFIAllowShortSignals, + xGPUS5MXTSFIEnableSignaller, + xGPUS5MXTSFIAllowLongSignals, + xGPUS5MXTSFIAllowShortSignals, // // XOBDLH ... - xTESTMXOBDLHEnableSignaller, - xTESTMXOBDLHAllowLongSignals, - xTESTMXOBDLHAllowShortSignals, + xGPUS5MXOBDLHEnableSignaller, + xGPUS5MXOBDLHAllowLongSignals, + xGPUS5MXOBDLHAllowShortSignals, // // XCHMACC ... - xTESTMXCHMACCEnableSignaller, - xTESTMXCHMACCAllowLongSignals, - xTESTMXCHMACCAllowShortSignals, + xGPUS5MXCHMACCEnableSignaller, + xGPUS5MXCHMACCAllowLongSignals, + xGPUS5MXCHMACCAllowShortSignals, // // XCHMAMX ... - xTESTMXCHMAMXEnableSignaller, - xTESTMXCHMAMXAllowLongSignals, - xTESTMXCHMAMXAllowShortSignals, + xGPUS5MXCHMAMXEnableSignaller, + xGPUS5MXCHMAMXAllowLongSignals, + xGPUS5MXCHMAMXAllowShortSignals, // // XCHMAMN ... - xTESTMXCHMAMNEnableSignaller, - xTESTMXCHMAMNAllowLongSignals, - xTESTMXCHMAMNAllowShortSignals + xGPUS5MXCHMAMNEnableSignaller, + xGPUS5MXCHMAMNAllowLongSignals, + xGPUS5MXCHMAMNAllowShortSignals // ); @@ -301,14 +301,14 @@ bool XTESTValidateIndicatorsInputs() // // Init Indicators ... -bool XTESTInitIndicators() +bool XGPUS5InitIndicators() { // bool result = false; // // Make it Enable when we need to Log Market Conditions ... - xTESTIsTestMode = IsRunningOnTestMode(); + xGPUS5IsTestMode = IsRunningOnTestMode(); // // Check and Calculate Max Length in Inputs ... @@ -316,88 +316,88 @@ bool XTESTInitIndicators() // // XTM ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xTMMaPeriod, - xTESTNumberOfItemsPerTick); + xGPUS5NumberOfItemsPerTick); // // XAMA ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xAMALength, - xTESTNumberOfItemsPerTick); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5NumberOfItemsPerTick); + xGPUS5MaxLengthOfInputs = MathMax( xAMAFastEMA, - xTESTNumberOfItemsPerTick); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5NumberOfItemsPerTick); + xGPUS5MaxLengthOfInputs = MathMax( xAMASlowEMA, - xTESTNumberOfItemsPerTick); + xGPUS5NumberOfItemsPerTick); // // XLH ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xLHLength, - xTESTNumberOfItemsPerTick); + xGPUS5NumberOfItemsPerTick); // // XTD ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xTDLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XFI ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xFILength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XRSI ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xRSILength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XOBD ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xOBDLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XCHLH ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xCHLHLcLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHLHMcLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHLHScLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XCHMA ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xCHMAScFastLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMAScSlowLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMAMcFastLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMAMcSlowLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMALcFastLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMALcSlowLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // Validate Indicators Inputs before Initialization ... - result = XTESTValidateIndicatorsInputs(); + result = XGPUS5ValidateIndicatorsInputs(); if (!result) { return result; @@ -409,58 +409,58 @@ bool XTESTInitIndicators() // // XTD ... bool isXTDEnable = - xTESTXTDEnableSignaller && - (xTESTXTDAllowLongSignals || - xTESTXTDAllowShortSignals); + xGPUS5XTDEnableSignaller && + (xGPUS5XTDAllowLongSignals || + xGPUS5XTDAllowShortSignals); // // XTAM ... bool isXTAMEnable = - xTESTXTAMEnableSignaller && - (xTESTXTAMAllowLongSignals || - xTESTXTAMAllowShortSignals); + xGPUS5XTAMEnableSignaller && + (xGPUS5XTAMAllowLongSignals || + xGPUS5XTAMAllowShortSignals); // // XSI ... bool isXSIEnable = - xTESTXSIEnableSignaller && - (xTESTXSIAllowLongSignals || - xTESTXSIAllowShortSignals); + xGPUS5XSIEnableSignaller && + (xGPUS5XSIAllowLongSignals || + xGPUS5XSIAllowShortSignals); // // XTSFI ... bool isXTSFIEnable = - xTESTXTSFIEnableSignaller && - (xTESTXTSFIAllowLongSignals || - xTESTXTSFIAllowShortSignals); + xGPUS5XTSFIEnableSignaller && + (xGPUS5XTSFIAllowLongSignals || + xGPUS5XTSFIAllowShortSignals); // // XOBDLH ... bool isXOBDLHEnable = false; - // xTESTXOBDLHEnableSignaller && - // (xTESTXOBDLHAllowLongSignals || - // xTESTXOBDLHAllowShortSignals); + // xGPUS5XOBDLHEnableSignaller && + // (xGPUS5XOBDLHAllowLongSignals || + // xGPUS5XOBDLHAllowShortSignals); // // XCHMACC ... bool isXCHMACCEnable = - xTESTXCHMACCEnableSignaller && - (xTESTXCHMACCAllowLongSignals || - xTESTXCHMACCAllowShortSignals); + xGPUS5XCHMACCEnableSignaller && + (xGPUS5XCHMACCAllowLongSignals || + xGPUS5XCHMACCAllowShortSignals); // // XCHMAMX ... bool isXCHMAMXEnable = false; - // xTESTXCHMAMXEnableSignaller && - // (xTESTXCHMAMXAllowLongSignals || - // xTESTXCHMAMXAllowShortSignals); + // xGPUS5XCHMAMXEnableSignaller && + // (xGPUS5XCHMAMXAllowLongSignals || + // xGPUS5XCHMAMXAllowShortSignals); // // XCHMAMN ... bool isXCHMAMNEnable = false; - // xTESTXCHMAMNEnableSignaller && - // (xTESTXCHMAMNAllowLongSignals || - // xTESTXCHMAMNAllowShortSignals); + // xGPUS5XCHMAMNEnableSignaller && + // (xGPUS5XCHMAMNAllowLongSignals || + // xGPUS5XCHMAMNAllowShortSignals); // bool hasSignaller = @@ -479,7 +479,7 @@ bool XTESTInitIndicators() if (!result) { // - LogMessage("XTEST doesn't enable any Signaller ..."); + LogMessage("XGPUS5 doesn't enable any Signaller ..."); // return result; @@ -578,7 +578,7 @@ bool XTESTInitIndicators() // // Release Indicators ... -void XTESTReleaseIndicators() +void XGPUS5ReleaseIndicators() { // // Release Handlers ... @@ -596,27 +596,27 @@ void XTESTReleaseIndicators() // // Handle Reading Buffers ... -void XTESTHandleReadingBuffers() +void XGPUS5HandleReadingBuffers() { // // Reading Calculated Bars for a Simple Handler ... - xTESTCalculatedBars = BarsCalculated(xTMHandler); + xGPUS5CalculatedBars = BarsCalculated(xTMHandler); // // Read Indicators Buffers ... - XTMReadBuffers(xTESTNumberOfItemsPerTick); - XAMAReadBuffers(xTESTNumberOfItemsPerTick); - XLHReadBuffers(xTESTNumberOfItemsPerTick); - XTDReadBuffers(xTESTNumberOfItemsPerTick); - XFIReadBuffers(xTESTNumberOfItemsPerTick); - XTSReadBuffers(xTESTNumberOfItemsPerTick); - XRSIReadBuffers(xTESTNumberOfItemsPerTick); - XOBDReadBuffers(xTESTNumberOfItemsPerTick); - XCHMAReadBuffers(xTESTNumberOfItemsPerTick); - XCHLHReadBuffers(xTESTNumberOfItemsPerTick); + XTMReadBuffers(xGPUS5NumberOfItemsPerTick); + XAMAReadBuffers(xGPUS5NumberOfItemsPerTick); + XLHReadBuffers(xGPUS5NumberOfItemsPerTick); + XTDReadBuffers(xGPUS5NumberOfItemsPerTick); + XFIReadBuffers(xGPUS5NumberOfItemsPerTick); + XTSReadBuffers(xGPUS5NumberOfItemsPerTick); + XRSIReadBuffers(xGPUS5NumberOfItemsPerTick); + XOBDReadBuffers(xGPUS5NumberOfItemsPerTick); + XCHMAReadBuffers(xGPUS5NumberOfItemsPerTick); + XCHLHReadBuffers(xGPUS5NumberOfItemsPerTick); // - xTESTProvider.ReadConditions(); + xGPUS5Provider.ReadConditions(); } // @@ -629,7 +629,7 @@ void XTESTHandleReadingBuffers() // Can Open Long Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Long Signals ... -bool XTESTCanOpenLongTrade( +bool XGPUS5CanOpenLongTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -644,7 +644,7 @@ bool XTESTCanOpenLongTrade( 0); // - bool hasSignal = XTESTHasLongSignal(info); + bool hasSignal = XGPUS5HasLongSignal(info); // result = @@ -656,7 +656,7 @@ bool XTESTCanOpenLongTrade( // if (result) { - xTESTProvider.ClearConditions(); + xGPUS5Provider.ClearConditions(); } // @@ -667,7 +667,7 @@ bool XTESTCanOpenLongTrade( // Can Close Long Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Long Signals ... -bool XTESTCanCloseLongTrade() +bool XGPUS5CanCloseLongTrade() { // bool result = false; @@ -680,7 +680,7 @@ bool XTESTCanCloseLongTrade() // Can Open Short Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Short Signals ... -bool XTESTCanOpenShortTrade( +bool XGPUS5CanOpenShortTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -695,7 +695,7 @@ bool XTESTCanOpenShortTrade( 0); // - bool hasSignal = XTESTHasShortSignal(info); + bool hasSignal = XGPUS5HasShortSignal(info); // result = @@ -707,7 +707,7 @@ bool XTESTCanOpenShortTrade( // if (result) { - xTESTProvider.ClearConditions(); + xGPUS5Provider.ClearConditions(); } // @@ -718,7 +718,7 @@ bool XTESTCanOpenShortTrade( // Can Close Short Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Short Signals ... -bool XTESTCanCloseShortTrade() +bool XGPUS5CanCloseShortTrade() { // bool result = false; @@ -741,7 +741,7 @@ bool XTESTCanCloseShortTrade() // // Check Market Conditions by Combination of Power of All tools for LONGs ... -bool XTESTHasLongSignal( +bool XGPUS5HasLongSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -750,7 +750,7 @@ bool XTESTHasLongSignal( // // XTD ... - bool isXTDHasSignal = XTESTXTDHasLongSignal(); + bool isXTDHasSignal = XGPUS5XTDHasLongSignal(); if (isXTDHasSignal) { // @@ -761,7 +761,7 @@ bool XTESTHasLongSignal( // // XTAM ... - bool isXTAMHasSignal = XTESTXTAMHasLongSignal(); + bool isXTAMHasSignal = XGPUS5XTAMHasLongSignal(); if (isXTAMHasSignal) { // @@ -772,7 +772,7 @@ bool XTESTHasLongSignal( // // XSI ... - bool isXSIHasSignal = XTESTXSIHasLongSignal(); + bool isXSIHasSignal = XGPUS5XSIHasLongSignal(); if (isXSIHasSignal) { // @@ -783,7 +783,7 @@ bool XTESTHasLongSignal( // // XTSFI ... - bool isXTSFIHasSignal = XTESTXTSFIHasLongSignal(); + bool isXTSFIHasSignal = XGPUS5XTSFIHasLongSignal(); if (isXTSFIHasSignal) { // @@ -794,7 +794,7 @@ bool XTESTHasLongSignal( // // XOBD XLH ... - bool isXOBDLHHasSignal = XTESTXOBDLHHasLongSignal(); + bool isXOBDLHHasSignal = XGPUS5XOBDLHHasLongSignal(); if (isXOBDLHHasSignal) { // @@ -805,7 +805,7 @@ bool XTESTHasLongSignal( // // XCHMA Cycles Cross ... - bool isXCHMACCHasSignal = XTESTXCHMACCHasLongSignal(); + bool isXCHMACCHasSignal = XGPUS5XCHMACCHasLongSignal(); if (isXCHMACCHasSignal) { // @@ -816,7 +816,7 @@ bool XTESTHasLongSignal( // // XCHMA Cycles Min ... - bool isXCHMAMNHasSignal = XTESTXCHMAMNHasLongSignal(); + bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasLongSignal(); if (isXCHMAMNHasSignal) { // @@ -827,7 +827,7 @@ bool XTESTHasLongSignal( // // XCHMA Cycles Max - bool isXCHMAMXHasSignal = XTESTXCHMAMXHasLongSignal(); + bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasLongSignal(); if (isXCHMAMXHasSignal) { // @@ -876,11 +876,11 @@ bool XTESTHasLongSignal( { // // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xTESTIsTestMode || xTESTEnableSignalAlerts) + if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); - string message = xTESTProvider.GenerateConditionsString(mConditions); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); + string message = xGPUS5Provider.GenerateConditionsString(mConditions); // LogMessage( @@ -897,7 +897,7 @@ bool XTESTHasLongSignal( // // Check Market Conditions by Combination of Power of All tools for SHORTs ... -bool XTESTHasShortSignal( +bool XGPUS5HasShortSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -906,7 +906,7 @@ bool XTESTHasShortSignal( // // XTD ... - bool isXTDHasSignal = XTESTXTDHasShortSignal(); + bool isXTDHasSignal = XGPUS5XTDHasShortSignal(); if (isXTDHasSignal) { // @@ -917,7 +917,7 @@ bool XTESTHasShortSignal( // // XTAM ... - bool isXTAMHasSignal = XTESTXTAMHasShortSignal(); + bool isXTAMHasSignal = XGPUS5XTAMHasShortSignal(); if (isXTAMHasSignal) { // @@ -928,7 +928,7 @@ bool XTESTHasShortSignal( // // XSI ... - bool isXSIHasSignal = XTESTXSIHasShortSignal(); + bool isXSIHasSignal = XGPUS5XSIHasShortSignal(); if (isXSIHasSignal) { // @@ -939,7 +939,7 @@ bool XTESTHasShortSignal( // // XTSFI ... - bool isXTSFIHasSignal = XTESTXTSFIHasShortSignal(); + bool isXTSFIHasSignal = XGPUS5XTSFIHasShortSignal(); if (isXTSFIHasSignal) { // @@ -950,7 +950,7 @@ bool XTESTHasShortSignal( // // XOBD XLH ... - bool isXOBDLHHasSignal = XTESTXOBDLHHasShortSignal(); + bool isXOBDLHHasSignal = XGPUS5XOBDLHHasShortSignal(); if (isXOBDLHHasSignal) { // @@ -961,7 +961,7 @@ bool XTESTHasShortSignal( // // XCHMA Cycles Cross ... - bool isXCHMACCHasSignal = XTESTXCHMACCHasShortSignal(); + bool isXCHMACCHasSignal = XGPUS5XCHMACCHasShortSignal(); if (isXCHMACCHasSignal) { // @@ -972,7 +972,7 @@ bool XTESTHasShortSignal( // // XCHMA Cycles Min ... - bool isXCHMAMNHasSignal = XTESTXCHMAMNHasShortSignal(); + bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasShortSignal(); if (isXCHMAMNHasSignal) { // @@ -983,7 +983,7 @@ bool XTESTHasShortSignal( // // XCHMA Cycles Max - bool isXCHMAMXHasSignal = XTESTXCHMAMXHasShortSignal(); + bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasShortSignal(); if (isXCHMAMXHasSignal) { // @@ -1032,11 +1032,11 @@ bool XTESTHasShortSignal( { // // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xTESTIsTestMode || xTESTEnableSignalAlerts) + if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); - string message = xTESTProvider.GenerateConditionsString(mConditions); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); + string message = xGPUS5Provider.GenerateConditionsString(mConditions); // LogMessage( @@ -1063,438 +1063,438 @@ bool XTESTHasShortSignal( // // Disbale All Signallers Longs ... -void XTESTDisableLongSignallers() +void XGPUS5DisableLongSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTProvider.DisbaleXTDLongs(); - xTESTMXTDAllowLongSignals = false; + xGPUS5Provider.DisbaleXTDLongs(); + xGPUS5MXTDAllowLongSignals = false; } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTProvider.DisbaleXTAMLongs(); - xTESTMXTAMAllowLongSignals = false; + xGPUS5Provider.DisbaleXTAMLongs(); + xGPUS5MXTAMAllowLongSignals = false; } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTProvider.DisbaleXSILongs(); - xTESTMXSIAllowLongSignals = false; + xGPUS5Provider.DisbaleXSILongs(); + xGPUS5MXSIAllowLongSignals = false; } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTProvider.DisbaleXTSFILongs(); - xTESTMXTSFIAllowLongSignals = false; + xGPUS5Provider.DisbaleXTSFILongs(); + xGPUS5MXTSFIAllowLongSignals = false; } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTProvider.DisbaleXOBDLHLongs(); - // xTESTMXOBDLHAllowLongSignals = false; + // xGPUS5Provider.DisbaleXOBDLHLongs(); + // xGPUS5MXOBDLHAllowLongSignals = false; // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTProvider.DisbaleXCHMACCLongs(); - xTESTMXCHMACCAllowLongSignals = false; + xGPUS5Provider.DisbaleXCHMACCLongs(); + xGPUS5MXCHMACCAllowLongSignals = false; } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTProvider.DisbaleXCHMAMXLongs(); - // xTESTMXCHMAMXAllowLongSignals = false; + // xGPUS5Provider.DisbaleXCHMAMXLongs(); + // xGPUS5MXCHMAMXAllowLongSignals = false; // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTProvider.DisbaleXCHMAMNLongs(); - // xTESTMXCHMAMNAllowLongSignals = false; + // xGPUS5Provider.DisbaleXCHMAMNLongs(); + // xGPUS5MXCHMAMNAllowLongSignals = false; // } } // // Enable All Signallers Longs ... // Only if they are Configured as Enable at Settings ... -void XTESTEnableLongSignallers() +void XGPUS5EnableLongSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTMXTDAllowLongSignals = - xTESTXTDAllowLongSignals + xGPUS5MXTDAllowLongSignals = + xGPUS5XTDAllowLongSignals ? true - : xTESTMXTDAllowLongSignals; + : xGPUS5MXTDAllowLongSignals; // - if (xTESTMXTDAllowLongSignals) + if (xGPUS5MXTDAllowLongSignals) { - xTESTProvider.EnableXTDLongs(); + xGPUS5Provider.EnableXTDLongs(); } } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTMXTAMAllowLongSignals = - xTESTXTAMAllowLongSignals + xGPUS5MXTAMAllowLongSignals = + xGPUS5XTAMAllowLongSignals ? true - : xTESTMXTAMAllowLongSignals; + : xGPUS5MXTAMAllowLongSignals; // - if (xTESTMXTAMAllowLongSignals) + if (xGPUS5MXTAMAllowLongSignals) { - xTESTProvider.EnableXTAMLongs(); + xGPUS5Provider.EnableXTAMLongs(); } } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTMXSIAllowLongSignals = - xTESTXSIAllowLongSignals + xGPUS5MXSIAllowLongSignals = + xGPUS5XSIAllowLongSignals ? true - : xTESTMXSIAllowLongSignals; + : xGPUS5MXSIAllowLongSignals; // - if (xTESTMXSIAllowLongSignals) + if (xGPUS5MXSIAllowLongSignals) { - xTESTProvider.EnableXSILongs(); + xGPUS5Provider.EnableXSILongs(); } } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTMXTSFIAllowLongSignals = - xTESTXTSFIAllowLongSignals + xGPUS5MXTSFIAllowLongSignals = + xGPUS5XTSFIAllowLongSignals ? true - : xTESTMXTSFIAllowLongSignals; + : xGPUS5MXTSFIAllowLongSignals; // - if (xTESTMXTSFIAllowLongSignals) + if (xGPUS5MXTSFIAllowLongSignals) { - xTESTProvider.EnableXTSFILongs(); + xGPUS5Provider.EnableXTSFILongs(); } } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTMXOBDLHAllowLongSignals = - // xTESTXOBDLHAllowLongSignals + // xGPUS5MXOBDLHAllowLongSignals = + // xGPUS5XOBDLHAllowLongSignals // ? true - // : xTESTMXOBDLHAllowLongSignals; + // : xGPUS5MXOBDLHAllowLongSignals; // // - // if (xTESTMXOBDLHAllowLongSignals) + // if (xGPUS5MXOBDLHAllowLongSignals) // { - // xTESTProvider.EnableXOBDLHLongs(); + // xGPUS5Provider.EnableXOBDLHLongs(); // } // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTMXCHMACCAllowLongSignals = - xTESTXCHMACCAllowLongSignals + xGPUS5MXCHMACCAllowLongSignals = + xGPUS5XCHMACCAllowLongSignals ? true - : xTESTMXCHMACCAllowLongSignals; + : xGPUS5MXCHMACCAllowLongSignals; // - if (xTESTMXCHMACCAllowLongSignals) + if (xGPUS5MXCHMACCAllowLongSignals) { - xTESTProvider.EnableXCHMACCLongs(); + xGPUS5Provider.EnableXCHMACCLongs(); } } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTMXCHMAMXAllowLongSignals = - // xTESTXCHMAMXAllowLongSignals + // xGPUS5MXCHMAMXAllowLongSignals = + // xGPUS5XCHMAMXAllowLongSignals // ? true - // : xTESTMXCHMAMXAllowLongSignals; + // : xGPUS5MXCHMAMXAllowLongSignals; // // - // if (xTESTMXCHMAMXAllowLongSignals) + // if (xGPUS5MXCHMAMXAllowLongSignals) // { - // xTESTProvider.EnableXCHMAMXLongs(); + // xGPUS5Provider.EnableXCHMAMXLongs(); // } // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTMXCHMAMNAllowLongSignals = - // xTESTXCHMAMNAllowLongSignals + // xGPUS5MXCHMAMNAllowLongSignals = + // xGPUS5XCHMAMNAllowLongSignals // ? true - // : xTESTMXCHMAMNAllowLongSignals; + // : xGPUS5MXCHMAMNAllowLongSignals; // // - // if (xTESTMXCHMAMNAllowLongSignals) + // if (xGPUS5MXCHMAMNAllowLongSignals) // { - // xTESTProvider.EnableXCHMAMNLongs(); + // xGPUS5Provider.EnableXCHMAMNLongs(); // } // } } // // Disable All Signallers Shorts ... -void XTESTDisableShortSignallers() +void XGPUS5DisableShortSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTProvider.DisableXTDShorts(); - xTESTMXTDAllowShortSignals = false; + xGPUS5Provider.DisableXTDShorts(); + xGPUS5MXTDAllowShortSignals = false; } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTProvider.DisableXTAMShorts(); - xTESTMXTAMAllowShortSignals = false; + xGPUS5Provider.DisableXTAMShorts(); + xGPUS5MXTAMAllowShortSignals = false; } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTProvider.DisableXSIShorts(); - xTESTMXSIAllowShortSignals = false; + xGPUS5Provider.DisableXSIShorts(); + xGPUS5MXSIAllowShortSignals = false; } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTProvider.DisableXTSFIShorts(); - xTESTMXTSFIAllowShortSignals = false; + xGPUS5Provider.DisableXTSFIShorts(); + xGPUS5MXTSFIAllowShortSignals = false; } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTProvider.DisableXOBDLHShorts(); - // xTESTMXOBDLHAllowShortSignals = false; + // xGPUS5Provider.DisableXOBDLHShorts(); + // xGPUS5MXOBDLHAllowShortSignals = false; // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTProvider.DisableXCHMACCShorts(); - xTESTMXCHMACCAllowShortSignals = false; + xGPUS5Provider.DisableXCHMACCShorts(); + xGPUS5MXCHMACCAllowShortSignals = false; } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTProvider.DisableXCHMAMXShorts(); - // xTESTMXCHMAMXAllowShortSignals = false; + // xGPUS5Provider.DisableXCHMAMXShorts(); + // xGPUS5MXCHMAMXAllowShortSignals = false; // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTProvider.DisableXCHMAMNShorts(); - // xTESTMXCHMAMNAllowShortSignals = false; + // xGPUS5Provider.DisableXCHMAMNShorts(); + // xGPUS5MXCHMAMNAllowShortSignals = false; // } } // // Enable All Signallers Shorts ... // Only if they are Configured as Enable at Settings ... -void XTESTEnableShortSignallers() +void XGPUS5EnableShortSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTMXTDAllowShortSignals = - xTESTXTDAllowShortSignals + xGPUS5MXTDAllowShortSignals = + xGPUS5XTDAllowShortSignals ? true - : xTESTMXTDAllowShortSignals; + : xGPUS5MXTDAllowShortSignals; // - if (xTESTMXTDAllowShortSignals) + if (xGPUS5MXTDAllowShortSignals) { - xTESTProvider.EnableXTDShorts(); + xGPUS5Provider.EnableXTDShorts(); } } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTMXTAMAllowShortSignals = - xTESTXTAMAllowShortSignals + xGPUS5MXTAMAllowShortSignals = + xGPUS5XTAMAllowShortSignals ? true - : xTESTMXTAMAllowShortSignals; + : xGPUS5MXTAMAllowShortSignals; // - if (xTESTMXTAMAllowShortSignals) + if (xGPUS5MXTAMAllowShortSignals) { - xTESTProvider.EnableXTAMShorts(); + xGPUS5Provider.EnableXTAMShorts(); } } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTMXSIAllowShortSignals = - xTESTXSIAllowShortSignals + xGPUS5MXSIAllowShortSignals = + xGPUS5XSIAllowShortSignals ? true - : xTESTMXSIAllowShortSignals; + : xGPUS5MXSIAllowShortSignals; // - if (xTESTMXSIAllowShortSignals) + if (xGPUS5MXSIAllowShortSignals) { - xTESTProvider.EnableXSIShorts(); + xGPUS5Provider.EnableXSIShorts(); } } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTMXTSFIAllowShortSignals = - xTESTXTSFIAllowShortSignals + xGPUS5MXTSFIAllowShortSignals = + xGPUS5XTSFIAllowShortSignals ? true - : xTESTMXTSFIAllowShortSignals; + : xGPUS5MXTSFIAllowShortSignals; // - if (xTESTMXTSFIAllowShortSignals) + if (xGPUS5MXTSFIAllowShortSignals) { - xTESTProvider.EnableXTSFIShorts(); + xGPUS5Provider.EnableXTSFIShorts(); } } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTMXOBDLHAllowShortSignals = - // xTESTXOBDLHAllowShortSignals + // xGPUS5MXOBDLHAllowShortSignals = + // xGPUS5XOBDLHAllowShortSignals // ? true - // : xTESTMXOBDLHAllowShortSignals; + // : xGPUS5MXOBDLHAllowShortSignals; // // - // if (xTESTMXOBDLHAllowShortSignals) + // if (xGPUS5MXOBDLHAllowShortSignals) // { - // xTESTProvider.EnableXOBDLHShorts(); + // xGPUS5Provider.EnableXOBDLHShorts(); // } // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTMXCHMACCAllowShortSignals = - xTESTXCHMACCAllowShortSignals + xGPUS5MXCHMACCAllowShortSignals = + xGPUS5XCHMACCAllowShortSignals ? true - : xTESTMXCHMACCAllowShortSignals; + : xGPUS5MXCHMACCAllowShortSignals; // - if (xTESTMXCHMACCAllowShortSignals) + if (xGPUS5MXCHMACCAllowShortSignals) { - xTESTProvider.EnableXCHMACCShorts(); + xGPUS5Provider.EnableXCHMACCShorts(); } } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTMXCHMAMXAllowShortSignals = - // xTESTXCHMAMXAllowShortSignals + // xGPUS5MXCHMAMXAllowShortSignals = + // xGPUS5XCHMAMXAllowShortSignals // ? true - // : xTESTMXCHMAMXAllowShortSignals; + // : xGPUS5MXCHMAMXAllowShortSignals; // // - // if (xTESTMXCHMAMXAllowShortSignals) + // if (xGPUS5MXCHMAMXAllowShortSignals) // { - // xTESTProvider.EnableXCHMAMXShorts(); + // xGPUS5Provider.EnableXCHMAMXShorts(); // } // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTMXCHMAMNAllowShortSignals = - // xTESTXCHMAMNAllowShortSignals + // xGPUS5MXCHMAMNAllowShortSignals = + // xGPUS5XCHMAMNAllowShortSignals // ? true - // : xTESTMXCHMAMNAllowShortSignals; + // : xGPUS5MXCHMAMNAllowShortSignals; // // - // if (xTESTMXCHMAMNAllowShortSignals) + // if (xGPUS5MXCHMAMNAllowShortSignals) // { - // xTESTProvider.EnableXCHMAMNShorts(); + // xGPUS5Provider.EnableXCHMAMNShorts(); // } // } } @@ -1505,29 +1505,29 @@ void XTESTEnableShortSignallers() // // XTD Long Signal Checking ... -bool XTESTXTDHasLongSignal() +bool XGPUS5XTDHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTDEnableSignaller || - !xTESTMXTDAllowLongSignals) + if (!xGPUS5MXTDEnableSignaller || + !xGPUS5MXTDAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTDHasLongConditions() + xGPUS5Provider.XTDHasLongConditions() // && // @@ -5365,29 +5365,29 @@ bool XTESTXTDHasLongSignal() // // XTD Short Signal Checking ... -bool XTESTXTDHasShortSignal() +bool XGPUS5XTDHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTDEnableSignaller || - !xTESTMXTDAllowShortSignals) + if (!xGPUS5MXTDEnableSignaller || + !xGPUS5MXTDAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTDHasShortConditions() + xGPUS5Provider.XTDHasShortConditions() // && // @@ -9225,29 +9225,29 @@ bool XTESTXTDHasShortSignal() // // XTAM Long Signal Checking ... -bool XTESTXTAMHasLongSignal() +bool XGPUS5XTAMHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTAMEnableSignaller || - !xTESTMXTAMAllowLongSignals) + if (!xGPUS5MXTAMEnableSignaller || + !xGPUS5MXTAMAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTAMHasLongConditions() + xGPUS5Provider.XTAMHasLongConditions() // && // @@ -13085,29 +13085,29 @@ bool XTESTXTAMHasLongSignal() // // XTAM Short Signal Checking ... -bool XTESTXTAMHasShortSignal() +bool XGPUS5XTAMHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTAMEnableSignaller || - !xTESTMXTAMAllowShortSignals) + if (!xGPUS5MXTAMEnableSignaller || + !xGPUS5MXTAMAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTAMHasShortConditions() + xGPUS5Provider.XTAMHasShortConditions() // && // @@ -16945,29 +16945,29 @@ bool XTESTXTAMHasShortSignal() // // XSI Long Signal Checking ... -bool XTESTXSIHasLongSignal() +bool XGPUS5XSIHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXSIEnableSignaller || - !xTESTMXSIAllowLongSignals) + if (!xGPUS5MXSIEnableSignaller || + !xGPUS5MXSIAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XSIHasLongConditions() + xGPUS5Provider.XSIHasLongConditions() // && // @@ -20805,29 +20805,29 @@ bool XTESTXSIHasLongSignal() // // XSI Short Signal Checking ... -bool XTESTXSIHasShortSignal() +bool XGPUS5XSIHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXSIEnableSignaller || - !xTESTMXSIAllowShortSignals) + if (!xGPUS5MXSIEnableSignaller || + !xGPUS5MXSIAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XSIHasShortConditions() + xGPUS5Provider.XSIHasShortConditions() // && // @@ -24665,29 +24665,29 @@ bool XTESTXSIHasShortSignal() // // XTSFI Long Signal Checking ... -bool XTESTXTSFIHasLongSignal() +bool XGPUS5XTSFIHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTSFIEnableSignaller || - !xTESTMXTSFIAllowLongSignals) + if (!xGPUS5MXTSFIEnableSignaller || + !xGPUS5MXTSFIAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTSFIHasLongConditions() + xGPUS5Provider.XTSFIHasLongConditions() // && // @@ -28525,29 +28525,29 @@ bool XTESTXTSFIHasLongSignal() // // XTSFI Short Signal Checking ... -bool XTESTXTSFIHasShortSignal() +bool XGPUS5XTSFIHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTSFIEnableSignaller || - !xTESTMXTSFIAllowShortSignals) + if (!xGPUS5MXTSFIEnableSignaller || + !xGPUS5MXTSFIAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTSFIHasShortConditions() + xGPUS5Provider.XTSFIHasShortConditions() // && // @@ -32385,29 +32385,29 @@ bool XTESTXTSFIHasShortSignal() // // XOBDLH Long Signal Checking ... -bool XTESTXOBDLHHasLongSignal() +bool XGPUS5XOBDLHHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXOBDLHEnableSignaller || - !xTESTMXOBDLHAllowLongSignals) + if (!xGPUS5MXOBDLHEnableSignaller || + !xGPUS5MXOBDLHAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XOBDLHHasLongConditions() + xGPUS5Provider.XOBDLHHasLongConditions() // && // @@ -32421,29 +32421,29 @@ bool XTESTXOBDLHHasLongSignal() // // XOBDLH Short Signal Checking ... -bool XTESTXOBDLHHasShortSignal() +bool XGPUS5XOBDLHHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXOBDLHEnableSignaller || - !xTESTMXOBDLHAllowShortSignals) + if (!xGPUS5MXOBDLHEnableSignaller || + !xGPUS5MXOBDLHAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XOBDLHHasShortConditions() + xGPUS5Provider.XOBDLHHasShortConditions() // && // @@ -32457,29 +32457,29 @@ bool XTESTXOBDLHHasShortSignal() // // XCHMACC Long Signal Checking ... -bool XTESTXCHMACCHasLongSignal() +bool XGPUS5XCHMACCHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMACCEnableSignaller || - !xTESTMXCHMACCAllowLongSignals) + if (!xGPUS5MXCHMACCEnableSignaller || + !xGPUS5MXCHMACCAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMACCHasLongConditions() + xGPUS5Provider.XCHMACCHasLongConditions() // && // @@ -36317,29 +36317,29 @@ bool XTESTXCHMACCHasLongSignal() // // XCHMACC Short Signal Checking ... -bool XTESTXCHMACCHasShortSignal() +bool XGPUS5XCHMACCHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMACCEnableSignaller || - !xTESTMXCHMACCAllowShortSignals) + if (!xGPUS5MXCHMACCEnableSignaller || + !xGPUS5MXCHMACCAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMACCHasShortConditions() + xGPUS5Provider.XCHMACCHasShortConditions() // && // @@ -40177,29 +40177,29 @@ bool XTESTXCHMACCHasShortSignal() // // XCHMAMN Long Signal Checking ... -bool XTESTXCHMAMNHasLongSignal() +bool XGPUS5XCHMAMNHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMNEnableSignaller || - !xTESTMXCHMAMNAllowLongSignals) + if (!xGPUS5MXCHMAMNEnableSignaller || + !xGPUS5MXCHMAMNAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMNHasLongConditions() + xGPUS5Provider.XCHMAMNHasLongConditions() // && // @@ -40213,29 +40213,29 @@ bool XTESTXCHMAMNHasLongSignal() // // XCHMAMN Short Signal Checking ... -bool XTESTXCHMAMNHasShortSignal() +bool XGPUS5XCHMAMNHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMNEnableSignaller || - !xTESTMXCHMAMNAllowShortSignals) + if (!xGPUS5MXCHMAMNEnableSignaller || + !xGPUS5MXCHMAMNAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMNHasShortConditions() + xGPUS5Provider.XCHMAMNHasShortConditions() // && // @@ -40249,29 +40249,29 @@ bool XTESTXCHMAMNHasShortSignal() // // XCHMAMX Long Signal Checking ... -bool XTESTXCHMAMXHasLongSignal() +bool XGPUS5XCHMAMXHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMXEnableSignaller || - !xTESTMXCHMAMXAllowLongSignals) + if (!xGPUS5MXCHMAMXEnableSignaller || + !xGPUS5MXCHMAMXAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMXHasLongConditions() + xGPUS5Provider.XCHMAMXHasLongConditions() // && // @@ -40285,29 +40285,29 @@ bool XTESTXCHMAMXHasLongSignal() // // XCHMAMX Short Signal Checking ... -bool XTESTXCHMAMXHasShortSignal() +bool XGPUS5XCHMAMXHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMXEnableSignaller || - !xTESTMXCHMAMXAllowShortSignals) + if (!xGPUS5MXCHMAMXEnableSignaller || + !xGPUS5MXCHMAMXAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMXHasShortConditions() + xGPUS5Provider.XCHMAMXHasShortConditions() // && // diff --git a/BKP/Main/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 b/BKP/Main/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 new file mode 100644 index 00000000..56f3a414 --- /dev/null +++ b/BKP/Main/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 @@ -0,0 +1,283 @@ +/////////////////////////////////////////////////////////////// +// +// SaherElm IT Center MQL5 XGPUS5 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 "XGPUS5 Provider"; + +// +// Commonly Used Configurations ... +input group "XGPUS5 Common"; +// +// Provider ... +input bool xGPUS5EnableProvider = true; // Enable Provider +input int xGPUS5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick +// +// Alerts ... +input bool xGPUS5EnableAlerts = true; // Enable Events Alert +input bool xGPUS5EnableHourlyAlerts = false; // Send Alert on each new Hour +input bool xGPUS5EnableDailyAlerts = false; // Send Alert on each new Day +input bool xGPUS5EnableWeeklyAlerts = false; // Send Alert on each new Week +input bool xGPUS5EnableMonthlyAlerts = false; // Send Alert on each new Month +// +// Reports ... +input bool xGPUS5EnableDailyReports = false; // Send Report on each new Day +input bool xGPUS5EnableWeeklyReports = false; // Send Report on each new Week +input bool xGPUS5EnableMonthlyReports = false; // Send Report on each new Month + +// +// Trader and Expert Specific Configurations ... +input group "XGPUS5 Trader"; +input int xGPUS5MagicNumber = 16940563; // Trader MagicNumber +input int xGPUS5Slippage = 10; // Trader Slippage + +// +// Trades Management Configurations ... +input group "XGPUS5 Trade Management"; +input bool xGPUS5AllowLongTrades = true; // Allow Long Trades +input bool xGPUS5AllowShortTrades = true; // Allow Short Trades + +// +// Risk Management Configurations ... +input group "XGPUS5 Risk Management"; +// +// Trade Count ... +input int xGPUS5MaxAllowedTrades = 10; // Max Allowed Trades at Same Time +input ENUM_X_CROSS_SIGNAL_METHOD xGPUS5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method +// +// Max Allowed Trade Age ... +input int xGPUS5MaxAllowedTradeAge = 300; // Detect Long Time Trades +input ENUM_X_GUARD_ACTIONS xGPUS5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades +// +// Trade Volume Specific Configurations ... +input double xGPUS5StaticVolumeFactor = 0.0004; // Static Volume baesd on Balance +input ENUM_STATIC_VOLUME_METHODS xGPUS5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume +input double xGPUS5VolumeMultiplier = 0; // Volume Increase Multiplier +input double xGPUS5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance +input double xGPUS5MaxSupportedVolumePerTradeFactor = 0; // Max Supported Volume Per Trade Factor based on Balance +input double xGPUS5IncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance +// +// Trade Profits ... +input double xGPUS5MinRewardInPips = 60; // Minimum Reward Per Trade in Pips +input double xGPUS5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips +input double xGPUS5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades +// +// Guard Riskable Money and Profits ... +input double xGPUS5CriticalDrawDownFactor = 0.10; // Critical Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xGPUS5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown +input double xGPUS5MaxAllowedDrawDownFactor = 0.15; // Max Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xGPUS5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown +input int xGPUS5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched + +// +// Account Conditions for Trading ... +input double xGPUS5BalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades +input double xGPUS5FreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades + +// +// May be Used Later as Input Params ... +bool xGPUS5UseVirtualTPSl = false; // Use Virtual TP SL +bool xGPUS5EnableSignalAlerts = false; // Send Signal Alert + +// +// Validate Inputs before Initialization ... +bool XGPUS5ValidateInputs() +{ + // + bool result = false; + + // + // Implement Other Verifications ... + + // + // Check Trading Availability ... + bool isTradeAvailable = xGPUS5AllowLongTrades || xGPUS5AllowShortTrades; + if (!isTradeAvailable) + { + LogMessage("XGPUS5 => Warning: Trading disabled ..."); + } + + // + // Chekc Number of reading items per tick ... + result = xGPUS5NumberOfItemsPerTick >= 5; + if (!result) + { + // + LogMessage("XGPUS5 invalid Number of items Reading Per Tick ..."); + + // + return result; + } + + // + // Check Max Allowed Trades Count ... + result = isTradeAvailable && xGPUS5MaxAllowedTrades >= 1; + if (!result) + { + // + LogMessage("XGPUS5 Number of Trades not valid ..."); + + // + return result; + } + + // + // Check Free Margin ... + result = + isTradeAvailable && + xGPUS5FreeMarginFactorForOpenTrades > 0 && + xGPUS5FreeMarginFactorForOpenTrades < 1; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Free Margin ..."); + + // + return result; + } + + // + // Check min Balance for Open Trades ... + result = + isTradeAvailable && + xGPUS5BalanceFactorForOpenTrades > 0 && + xGPUS5BalanceFactorForOpenTrades < 1; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Min Balance for Open Trades ..."); + + // + return result; + } + + // + // Check Min Reward Per Trade ... + result = xGPUS5MinRewardInPips > 0; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Min Reward Per Trade ..."); + + // + return result; + } + + // + // Check Trades Volume ... + result = xGPUS5StaticVolumeFactor > 0; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Static Volume ..."); + + // + return result; + } + + // + // Check Volume Multiplier ... + result = xGPUS5VolumeMultiplier >= 0; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Volume Multiplier ..."); + + // + return result; + } + + // + result = + xGPUS5CriticalDrawDownFactor == 0 || (xGPUS5CriticalDrawDownFactor > 0 && + xGPUS5CriticalDrawDownFactor < 1); + if (!result) + { + // + LogMessage("XGPUS5 Invalid Critical DrawDown Factor ..."); + + // + return result; + } + + // + result = + xGPUS5MaxAllowedDrawDownFactor == 0 || (xGPUS5MaxAllowedDrawDownFactor > 0 && + xGPUS5MaxAllowedDrawDownFactor < 1); + if (!result) + { + // + LogMessage("XGPUS5 Invalid Max Allowed DrawDown Factor ..."); + + // + return result; + } + + // + // Check Guard Actions ... + // + result = + xGPUS5CriticalDrawDownFactor > 0 && + xGPUS5CriticalDrawDownFactor < 1 && + xGPUS5MaxAllowedDrawDownFactor > 0 && + xGPUS5MaxAllowedDrawDownFactor < 1; + if (!result) + { + // + LogMessage("XGPUS5 For Critical Drawdown, you have to Specify Max Drawdown also ..."); + + // + return result; + } + + // + result = xGPUS5CriticalDrawDownFactor > 0 && xGPUS5CriticalDrawDownFactor < xGPUS5MaxAllowedDrawDownFactor; + if (!result) + { + // + LogMessage("XGPUS5 Critical Drawdown must Smaller than Max Drawdown ..."); + + // + return result; + } + + // + if (xGPUS5CriticalDrawDownFactor > 0 && xGPUS5CriticalGuardAction == X_GUARD_DO_NOTHING) + { + LogMessage("XGPUS5 IMPORTANT you Specified Critical Drawdown, but there is no any Guard Action ..."); + } + + // + if (xGPUS5MaxAllowedDrawDownFactor > 0 && xGPUS5MaxAllowedGuardAction == X_GUARD_DO_NOTHING) + { + LogMessage("XGPUS5 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/Providers/x-saherelm.xtest.provider.lib.mq5 b/BKP/Main/Providers/x-saherelm.xgpus5.provider.lib.mq5 similarity index 60% rename from Providers/x-saherelm.xtest.provider.lib.mq5 rename to BKP/Main/Providers/x-saherelm.xgpus5.provider.lib.mq5 index 862436c1..6ba9fe2a 100644 --- a/Providers/x-saherelm.xtest.provider.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xgpus5.provider.lib.mq5 @@ -1,9 +1,9 @@ //////////////////////////////////////////////////////////// // -// SaherElm IT Center MQL5 XTEST Signal Provider Library +// SaherElm IT Center MQL5 XGPUS5 Signal Provider Library // -------------------------------------------------------- -// Name: XTESTSignalProvider -// Description: XTEST based signal provider ... +// Name: XGPUS5SignalProvider +// Description: XGPUS5 based signal provider ... // // // Maintainer: @@ -19,13 +19,13 @@ #property version "1.00" #property strict -#define XTESTProviderName "XTEST" +#define XGPUS5ProviderName "XGPUS5" // // START Inputs ... // -#include "x-saherelm.xtest.provider.inputs.lib.mq5"; +#include "x-saherelm.xgpus5.provider.inputs.lib.mq5"; // // END Inputs ... @@ -56,42 +56,42 @@ // // -XCGuard *xTESTGuard; -XCTrade *xTESTTrader; -XCReporter *xTESTReporter; -XCCollector *xTESTCollector; -XCAccountInfo *xTESTAccountInfo; -XCVolumeManager *xTESTVolumeManager; +XCGuard *xGPUS5Guard; +XCTrade *xGPUS5Trader; +XCReporter *xGPUS5Reporter; +XCCollector *xGPUS5Collector; +XCAccountInfo *xGPUS5AccountInfo; +XCVolumeManager *xGPUS5VolumeManager; // -#include "x-saherelm.xtest.provider.indicators.lib.mq5" +#include "x-saherelm.xgpus5.provider.indicators.lib.mq5" // // Controlling Variables ... -bool xTESTMEnableProvider = false; -bool xTESTMAllowLongTrades = false; -bool xTESTMAllowShortTrades = false; +bool xGPUS5MEnableProvider = false; +bool xGPUS5MAllowLongTrades = false; +bool xGPUS5MAllowShortTrades = false; // -double xTESTDeposit = 0; -double xTESTBalance = 0; -double xTESTMinReward = 0; -double xTESTFreeMargin = 0; -double xTESTBalanceForOpenTrades = 0; -double xTESTFreeMarginForOpenTrades = 0; +double xGPUS5Deposit = 0; +double xGPUS5Balance = 0; +double xGPUS5MinReward = 0; +double xGPUS5FreeMargin = 0; +double xGPUS5BalanceForOpenTrades = 0; +double xGPUS5FreeMarginForOpenTrades = 0; // // Guard ... -double xTESTCriticalDrawDown = 0; -double xTESTMaxAllowedDrawDown = 0; +double xGPUS5CriticalDrawDown = 0; +double xGPUS5MaxAllowedDrawDown = 0; // -double xTESTMaxDrawUp = 0; -double xTESTMaxDrawDown = 0; +double xGPUS5MaxDrawUp = 0; +double xGPUS5MaxDrawDown = 0; // int NOT_ENOUGH_MONEY_ERROR = 4756; -const string XTEST_SUPPORT_ID = "SP"; +const string XGPUS5_SUPPORT_ID = "SP"; // // END Global Definitions: Variables, Properties and etc ... @@ -103,26 +103,26 @@ const string XTEST_SUPPORT_ID = "SP"; // // Initial Library if required ... -bool XTESTInitSignalProviderLibrary() +bool XGPUS5InitSignalProviderLibrary() { // bool result = false; // - if (!xTESTEnableProvider) + if (!xGPUS5EnableProvider) { return result; } // // Controlling Variables ... - xTESTMEnableProvider = xTESTEnableProvider; - xTESTMAllowLongTrades = xTESTAllowLongTrades; - xTESTMAllowShortTrades = xTESTAllowShortTrades; + xGPUS5MEnableProvider = xGPUS5EnableProvider; + xGPUS5MAllowLongTrades = xGPUS5AllowLongTrades; + xGPUS5MAllowShortTrades = xGPUS5AllowShortTrades; // // Validate Inputs ... - result = XTESTValidateInputs(); + result = XGPUS5ValidateInputs(); if (!result) { return result; @@ -130,113 +130,113 @@ bool XTESTInitSignalProviderLibrary() // // Init Indicators ... - result = XTESTInitIndicators(); + result = XGPUS5InitIndicators(); if (!result) { return result; } // - xTESTReporter = new XCReporter(); - xTESTCollector = new XCCollector(); - xTESTAccountInfo = new XCAccountInfo(); + xGPUS5Reporter = new XCReporter(); + xGPUS5Collector = new XCCollector(); + xGPUS5AccountInfo = new XCAccountInfo(); // // Calculate Account Deposit ... - xTESTDeposit = xTESTAccountInfo.GetInitialBalance(); + xGPUS5Deposit = xGPUS5AccountInfo.GetInitialBalance(); // // Prepare Min Reward ... - if (xTESTMinRewardInPips > 0) + if (xGPUS5MinRewardInPips > 0) { - xTESTMinReward = PipsToPrice(xTESTMinRewardInPips); + xGPUS5MinReward = PipsToPrice(xGPUS5MinRewardInPips); } // // Calculate Min Balance for Trades ... - if (xTESTBalanceFactorForOpenTrades > 0) + if (xGPUS5BalanceFactorForOpenTrades > 0) { - xTESTBalanceForOpenTrades = xTESTBalanceFactorForOpenTrades * xTESTDeposit; + xGPUS5BalanceForOpenTrades = xGPUS5BalanceFactorForOpenTrades * xGPUS5Deposit; } // // Claculate Min Free Marging for Trades ... - if (xTESTFreeMarginFactorForOpenTrades > 0) + if (xGPUS5FreeMarginFactorForOpenTrades > 0) { - xTESTFreeMarginForOpenTrades = xTESTFreeMarginFactorForOpenTrades * xTESTDeposit; + xGPUS5FreeMarginForOpenTrades = xGPUS5FreeMarginFactorForOpenTrades * xGPUS5Deposit; } // // Calculate Init Time Critical DrawDown Value ... - if (xTESTCriticalDrawDownFactor > 0) + if (xGPUS5CriticalDrawDownFactor > 0) { - xTESTCriticalDrawDown = xTESTCriticalDrawDownFactor * xTESTDeposit; + xGPUS5CriticalDrawDown = xGPUS5CriticalDrawDownFactor * xGPUS5Deposit; } // // Calculate Init Time Max Allowed DrawDown Value ... - if (xTESTMaxAllowedDrawDownFactor > 0) + if (xGPUS5MaxAllowedDrawDownFactor > 0) { - xTESTMaxAllowedDrawDown = xTESTMaxAllowedDrawDownFactor * xTESTDeposit; + xGPUS5MaxAllowedDrawDown = xGPUS5MaxAllowedDrawDownFactor * xGPUS5Deposit; } // // Instant Volume Manager ... - xTESTVolumeManager = new XCVolumeManager( - xTESTStaticVolumeFactor, - xTESTStaticVolumeMethod, - xTESTVolumeMultiplier, - xTESTApplyVolumeMultiplierFactor, - xTESTMaxSupportedVolumePerTradeFactor, - xTESTIncreasedMaxSupportedVolumeRate); + xGPUS5VolumeManager = new XCVolumeManager( + xGPUS5StaticVolumeFactor, + xGPUS5StaticVolumeMethod, + xGPUS5VolumeMultiplier, + xGPUS5ApplyVolumeMultiplierFactor, + xGPUS5MaxSupportedVolumePerTradeFactor, + xGPUS5IncreasedMaxSupportedVolumeRate); // // Make XCTrader instance ... - xTESTTrader = new XCTrade( - XTESTProviderName, + xGPUS5Trader = new XCTrade( + XGPUS5ProviderName, _Symbol, - xTESTSlippage, - xTESTMagicNumber, - xTESTUseVirtualTPSl, - xTESTMaxAllowedTrades, - xTESTFreeMarginForOpenTrades, - xTESTBalanceForOpenTrades); + xGPUS5Slippage, + xGPUS5MagicNumber, + xGPUS5UseVirtualTPSl, + xGPUS5MaxAllowedTrades, + xGPUS5FreeMarginForOpenTrades, + xGPUS5BalanceForOpenTrades); // // Instantiate Account Guard ... - xTESTGuard = new XCGuard( + xGPUS5Guard = new XCGuard( // // Old Trades ... - xTESTMaxAllowedTradeAge, - xTESTOldTradesAction, + xGPUS5MaxAllowedTradeAge, + xGPUS5OldTradesAction, // // Critical DrawDown ... - xTESTCriticalDrawDownFactor, - xTESTCriticalGuardAction, + xGPUS5CriticalDrawDownFactor, + xGPUS5CriticalGuardAction, // // Max Allowed DrawDown ... - xTESTMaxAllowedDrawDownFactor, - xTESTMaxAllowedGuardAction, - xTESTGuardStopoutFiredAfterTouches, + xGPUS5MaxAllowedDrawDownFactor, + xGPUS5MaxAllowedGuardAction, + xGPUS5GuardStopoutFiredAfterTouches, // - // xTESTGuardSupportMethod + // xGPUS5GuardSupportMethod X_SUPPORT_DO_NOTHING // ); // // Reset Calculations Buffers and Variables ... - XTESTResetCollectors(); + XGPUS5ResetCollectors(); // - XTESTUpdateReports(); + XGPUS5UpdateReports(); // result = true; // // Logging State ... - XTESTIssueInitializationSucceedAlert(); + XGPUS5IssueInitializationSucceedAlert(); // return result; @@ -244,65 +244,65 @@ bool XTESTInitSignalProviderLibrary() // // DeInitial Library if required ... -void XTESTDeinitSignalProviderLibrary(const int reason) +void XGPUS5DeinitSignalProviderLibrary(const int reason) { // // Release Handlers ... - XTESTReleaseIndicators(); + XGPUS5ReleaseIndicators(); // // Logging State ... - XTESTIssueDeinitializationSucceedAlert(); + XGPUS5IssueDeinitializationSucceedAlert(); } // // this is a Globally Function which do all of // checkings and positions handling ... -void XTESTSignalProviderHandleTick() +void XGPUS5SignalProviderHandleTick() { // // Check Provider is Enable or Not ... - if (!xTESTMEnableProvider) + if (!xGPUS5MEnableProvider) { return; } // - XTESTSignalProviderDoControlState(); + XGPUS5SignalProviderDoControlState(); // // Reading Indicator Buffers ... - XTESTHandleReadingBuffers(); - if (xTESTCalculatedBars < xTESTMaxLengthOfInputs) + XGPUS5HandleReadingBuffers(); + if (xGPUS5CalculatedBars < xGPUS5MaxLengthOfInputs) { return; } // // Handle Open Trades ... - XTESTHandleOpenTrades(); + XGPUS5HandleOpenTrades(); // // Handle Close Trades ... - XTESTHandleCloseTrades(); + XGPUS5HandleCloseTrades(); // // DrawDown and DrawUp ... - XTESTHandleCalculateDrawDownUp(); + XGPUS5HandleCalculateDrawDownUp(); } // // Do Control Checks here ... -void XTESTSignalProviderDoControlState() +void XGPUS5SignalProviderDoControlState() { // // Update account Balance ... - xTESTBalance = xTESTAccountInfo.GetBalance(); - xTESTFreeMargin = xTESTAccountInfo.GetFreeMargin(); + xGPUS5Balance = xGPUS5AccountInfo.GetBalance(); + xGPUS5FreeMargin = xGPUS5AccountInfo.GetFreeMargin(); // // Check Provider is Enable or Not ... - if (!xTESTMEnableProvider) + if (!xGPUS5MEnableProvider) { return; } @@ -312,10 +312,10 @@ void XTESTSignalProviderDoControlState() // TODO: add Guard Result here ... string guardMessage = ""; XGuardHandlerResult guardHandlerResult; - bool isGuarded = xTESTGuard.Guard( + bool isGuarded = xGPUS5Guard.Guard( guardHandlerResult, guardMessage, - xTESTTrader, + xGPUS5Trader, _Period); if (isGuarded) { @@ -331,7 +331,7 @@ void XTESTSignalProviderDoControlState() XSignal iSignal = guardHandlerResult.criticals[i]; // - XTESTOnGuard( + XGPUS5OnGuard( iSignal, X_GUARDED_CRITICAL, guardMessage); @@ -350,7 +350,7 @@ void XTESTSignalProviderDoControlState() XSignal iSignal = guardHandlerResult.maxes[i]; // - XTESTOnGuard( + XGPUS5OnGuard( iSignal, X_GUARDED_MAX, guardMessage, @@ -370,7 +370,7 @@ void XTESTSignalProviderDoControlState() XSignal iSignal = guardHandlerResult.olds[i]; // - XTESTOnGuard( + XGPUS5OnGuard( iSignal, X_GUARDED_OLD, guardMessage); @@ -381,9 +381,9 @@ void XTESTSignalProviderDoControlState() // // Signal Protection ... XSignal protectSupports[]; - bool isSupported = xTESTGuard.ProtectSignals( + bool isSupported = xGPUS5Guard.ProtectSignals( protectSupports, - xTESTTrader); + xGPUS5Trader); if (isSupported) { // @@ -393,7 +393,7 @@ void XTESTSignalProviderDoControlState() // // Handling Signals ... XTraderHandlerResult signalHandlerResult; - xTESTTrader.HandleSignals( + xGPUS5Trader.HandleSignals( signalHandlerResult, false // Ignore Risk Free Trdaes ); @@ -408,7 +408,7 @@ void XTESTSignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.sl[i]; - XTESTOnSL(iSignal); + XGPUS5OnSL(iSignal); } } @@ -422,7 +422,7 @@ void XTESTSignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.tp[i]; - XTESTOnTP(iSignal); + XGPUS5OnTP(iSignal); } } @@ -436,18 +436,18 @@ void XTESTSignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.rf[i]; - XTESTOnRF(iSignal); + XGPUS5OnRF(iSignal); } } } // // Handle Trades when OnTrade Event Hnadler Calls ... -void XTESTSignalProviderHandleTrade() +void XGPUS5SignalProviderHandleTrade() { // // Check Provider Enabled ... - if (!xTESTMEnableProvider) + if (!xGPUS5MEnableProvider) { return; } @@ -455,7 +455,7 @@ void XTESTSignalProviderHandleTrade() // // Handle OnTrade Event ... XOnTradeHandlerResult result = {}; - xTESTTrader.HandleOnTradeEvent( + xGPUS5Trader.HandleOnTradeEvent( result); // @@ -463,27 +463,27 @@ void XTESTSignalProviderHandleTrade() if (result.hasNewDeal) { // - XDeal last = xTESTTrader.GetLastDeal(); + XDeal last = xGPUS5Trader.GetLastDeal(); // if (last.reason == DEAL_REASON_SL) { - xTESTReporter.AddTradeSLInReports(); + xGPUS5Reporter.AddTradeSLInReports(); } else if (last.reason == DEAL_REASON_TP) { - xTESTReporter.AddTradeTPInReports(); + xGPUS5Reporter.AddTradeTPInReports(); } } } // // Handle Open Trades ... -void XTESTHandleOpenTrades() +void XGPUS5HandleOpenTrades() { // // Check Can Trade ... - bool canTrade = xTESTMAllowLongTrades || xTESTMAllowShortTrades; + bool canTrade = xGPUS5MAllowLongTrades || xGPUS5MAllowShortTrades; if (!canTrade) { return; @@ -491,8 +491,8 @@ void XTESTHandleOpenTrades() // // Check Max Open Trades ... - int openSignals = xTESTTrader.Count(); - bool canOpenPositions = openSignals < xTESTMaxAllowedTrades; + int openSignals = xGPUS5Trader.Count(); + bool canOpenPositions = openSignals < xGPUS5MaxAllowedTrades; if (!canOpenPositions) { return; @@ -502,8 +502,8 @@ void XTESTHandleOpenTrades() // Check Signals Exists ... XProvidedSignal longSignalInfo; XProvidedSignal shortSignalInfo; - bool hasLongSignal = XTESTCanOpenLongTrade(longSignalInfo); - bool hasShortSignal = XTESTCanOpenShortTrade(shortSignalInfo); + bool hasLongSignal = XGPUS5CanOpenLongTrade(longSignalInfo); + bool hasShortSignal = XGPUS5CanOpenShortTrade(shortSignalInfo); if (!hasLongSignal && !hasShortSignal) { return; @@ -511,20 +511,20 @@ void XTESTHandleOpenTrades() // // Update Reports ... - XTESTUpdateReports(); + XGPUS5UpdateReports(); // - xTESTWaitUntilNextCandle = true; + xGPUS5WaitUntilNextCandle = true; // // Open Long Trades ... if ( // hasLongSignal && - xTESTMAllowLongTrades) + xGPUS5MAllowLongTrades) { // - bool isOpened = XTESTOpenLongPosition(longSignalInfo); + bool isOpened = XGPUS5OpenLongPosition(longSignalInfo); } // @@ -532,29 +532,29 @@ void XTESTHandleOpenTrades() if ( // hasShortSignal && - xTESTMAllowShortTrades) + xGPUS5MAllowShortTrades) { // - bool isOpened = XTESTOpenShortPosition(shortSignalInfo); + bool isOpened = XGPUS5OpenShortPosition(shortSignalInfo); } } // // Handle Close Trades ... -void XTESTHandleCloseTrades() +void XGPUS5HandleCloseTrades() { // // Force Close Long Trades ... bool isClosedLongTrades = false; - bool canCloseLongTrades = XTESTCanCloseLongTrade(); - if (xTESTMAllowLongTrades && canCloseLongTrades) + bool canCloseLongTrades = XGPUS5CanCloseLongTrade(); + if (xGPUS5MAllowLongTrades && canCloseLongTrades) { // ENUM_X_SIGNAL_TYPE type = X_SIGNAL_LONG; // XSignal closed[]; - xTESTTrader.CloseSignals( + xGPUS5Trader.CloseSignals( closed, type); @@ -568,7 +568,7 @@ void XTESTHandleCloseTrades() { // XSignal iSignal = closed[i]; - XTESTOnFC(iSignal); + XGPUS5OnFC(iSignal); } } } @@ -576,15 +576,15 @@ void XTESTHandleCloseTrades() // // Force Close Short Trades ... bool isClosedShortTrades = false; - bool canCloseShortTrades = XTESTCanCloseShortTrade(); - if (xTESTMAllowShortTrades && canCloseShortTrades) + bool canCloseShortTrades = XGPUS5CanCloseShortTrade(); + if (xGPUS5MAllowShortTrades && canCloseShortTrades) { // ENUM_X_SIGNAL_TYPE type = X_SIGNAL_SHORT; // XSignal closed[]; - xTESTTrader.CloseSignals( + xGPUS5Trader.CloseSignals( closed, type); @@ -598,7 +598,7 @@ void XTESTHandleCloseTrades() { // XSignal iSignal = closed[i]; - XTESTOnFC(iSignal); + XGPUS5OnFC(iSignal); } } } @@ -606,7 +606,7 @@ void XTESTHandleCloseTrades() // // Open Long Position ... -bool XTESTOpenLongPosition( +bool XGPUS5OpenLongPosition( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -619,14 +619,14 @@ bool XTESTOpenLongPosition( 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 + xTESTMinReward; - double riskFreeRate = xTESTRiskFreeRate; - double riskFreeStep = xTESTRiskFreeStepInPips; - double volume = XTESTCalculateVolume(ArraySize(info.signallers)); + double tp = info.tp > 0 ? info.tp : entry + xGPUS5MinReward; + double riskFreeRate = xGPUS5RiskFreeRate; + double riskFreeStep = xGPUS5RiskFreeStepInPips; + double volume = XGPUS5CalculateVolume(ArraySize(info.signallers)); // XSignal signal = {}; - signal = xTESTTrader.GenerateSignal( + signal = xGPUS5Trader.GenerateSignal( X_SIGNAL_LONG, tp, sl, @@ -635,20 +635,20 @@ bool XTESTOpenLongPosition( riskFreeRate); bool isValidSignal = IsValid( signal, - xTESTMagicNumber); + xGPUS5MagicNumber); if (!isValidSignal) { return result; } // - int signalsCount = xTESTTrader.Count(); + int signalsCount = xGPUS5Trader.Count(); bool isCross = signalsCount >= 1; if (isCross) { // // Handle Cross Signals ... - XTESTHnadleCrossSignal(signal); + XGPUS5HnadleCrossSignal(signal); } // @@ -661,7 +661,7 @@ bool XTESTOpenLongPosition( ( // isCross && - xTESTCrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING + xGPUS5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING // ); if (!canExecuteSignal) @@ -671,7 +671,7 @@ bool XTESTOpenLongPosition( // // Execute Signal ... - ENUM_EXECUTION_SIGNAL_RESULT executionResult = xTESTTrader.ExecuteSignal( + ENUM_EXECUTION_SIGNAL_RESULT executionResult = xGPUS5Trader.ExecuteSignal( signal, false, // Ignore Number of Trades ... true // Check Account Conditions ... @@ -688,16 +688,16 @@ bool XTESTOpenLongPosition( ); // - XSignal tSignal = xTESTTrader.GetSignal(signal.ticket); + XSignal tSignal = xGPUS5Trader.GetSignal(signal.ticket); // - XTESTOnSignal( + XGPUS5OnSignal( tSignal, providers); } else { - XTESTIssueSignalExecutionError(executionResult); + XGPUS5IssueSignalExecutionError(executionResult); } // @@ -706,7 +706,7 @@ bool XTESTOpenLongPosition( // // Open Short Position ... -bool XTESTOpenShortPosition( +bool XGPUS5OpenShortPosition( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -719,14 +719,14 @@ bool XTESTOpenShortPosition( 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 - xTESTMinReward; - double riskFreeRate = xTESTRiskFreeRate; - double riskFreeStep = xTESTRiskFreeStepInPips; - double volume = XTESTCalculateVolume(ArraySize(info.signallers)); + double tp = info.tp > 0 ? info.tp : entry - xGPUS5MinReward; + double riskFreeRate = xGPUS5RiskFreeRate; + double riskFreeStep = xGPUS5RiskFreeStepInPips; + double volume = XGPUS5CalculateVolume(ArraySize(info.signallers)); // XSignal signal = {}; - signal = xTESTTrader.GenerateSignal( + signal = xGPUS5Trader.GenerateSignal( X_SIGNAL_SHORT, tp, sl, @@ -735,20 +735,20 @@ bool XTESTOpenShortPosition( riskFreeRate); bool isValidSignal = IsValid( signal, - xTESTMagicNumber); + xGPUS5MagicNumber); if (!isValidSignal) { return result; } // - int signalsCount = xTESTTrader.Count(); + int signalsCount = xGPUS5Trader.Count(); bool isCross = signalsCount >= 1; if (isCross) { // // Handle Cross Signals ... - XTESTHnadleCrossSignal(signal); + XGPUS5HnadleCrossSignal(signal); } // @@ -761,7 +761,7 @@ bool XTESTOpenShortPosition( ( // isCross && - xTESTCrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING + xGPUS5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING // ); if (!canExecuteSignal) @@ -771,7 +771,7 @@ bool XTESTOpenShortPosition( // // Execute Signal ... - ENUM_EXECUTION_SIGNAL_RESULT executionResult = xTESTTrader.ExecuteSignal( + ENUM_EXECUTION_SIGNAL_RESULT executionResult = xGPUS5Trader.ExecuteSignal( signal, false, // Ignore Number of Trades ... true // Check Account Conditions ... @@ -786,16 +786,16 @@ bool XTESTOpenShortPosition( ); // - XSignal tSignal = xTESTTrader.GetSignal(signal.ticket); + XSignal tSignal = xGPUS5Trader.GetSignal(signal.ticket); // - XTESTOnSignal( + XGPUS5OnSignal( tSignal, providers); } else { - XTESTIssueSignalExecutionError(executionResult); + XGPUS5IssueSignalExecutionError(executionResult); } // @@ -804,20 +804,20 @@ bool XTESTOpenShortPosition( // // Apply Cross Signal Actions ... -void XTESTHnadleCrossSignal( +void XGPUS5HnadleCrossSignal( XSignal &signal // Specified Signal ... ) { // // Check Cross Signal Handling Enabled ... - if (xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DO_NOTHING) + if (xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DO_NOTHING) { return; } // // First We have to Change Cross Signals Comment ... - string comment = xTESTTrader.GenerateSignalComment( + string comment = xGPUS5Trader.GenerateSignalComment( signal, true); @@ -826,21 +826,21 @@ void XTESTHnadleCrossSignal( // // If Every thing is Regular, prevent any changes here ... - if (xTESTCrossSignalsMethod == X_CROSS_SIGNAL_REGULAR) + if (xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_REGULAR) { return; } // // Retrieve Max in Drawdown Signal ... - XSignal maxInDDSignal = xTESTTrader.GetMaxInDrawdownSignal(); + XSignal maxInDDSignal = xGPUS5Trader.GetMaxInDrawdownSignal(); // // Validate Signal ... bool isValidSignal = maxInDDSignal.ticket > 0 && maxInDDSignal.symbol == signal.symbol && - IsValid(maxInDDSignal, xTESTMagicNumber); + IsValid(maxInDDSignal, xGPUS5MagicNumber); if (!isValidSignal) { return; @@ -856,14 +856,14 @@ void XTESTHnadleCrossSignal( isDirectional ? ( // - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR || - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR_INDIRECTION_IMPORTANT + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR || + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR_INDIRECTION_IMPORTANT // ) : ( // - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_INDIRECTION_REGULAR || - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_IMPORTANT_INDIRECTION_REGULAR + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_INDIRECTION_REGULAR || + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_IMPORTANT_INDIRECTION_REGULAR // ); if (isRegular) @@ -882,11 +882,11 @@ void XTESTHnadleCrossSignal( // // Calculate Usefull data ... -void XTESTHandleCalculateDrawDownUp() +void XGPUS5HandleCalculateDrawDownUp() { // XSignal signals[]; - xTESTTrader.GetSignals(signals); + xGPUS5Trader.GetSignals(signals); int signalsCount = ArraySize(signals); if (signalsCount <= 0) { @@ -897,7 +897,7 @@ void XTESTHandleCalculateDrawDownUp() double profit = 0; double volume = 0; XCollector collector = {}; - double maxAllowedVolume = xTESTVolumeManager.GetMaxAllowedVolume(); + double maxAllowedVolume = xGPUS5VolumeManager.GetMaxAllowedVolume(); for (int i = 0; i < signalsCount; i++) { // @@ -918,11 +918,11 @@ void XTESTHandleCalculateDrawDownUp() if (profit < 0) { // - xTESTMaxDrawDown = - xTESTMaxDrawDown == 0 || - xTESTMaxDrawDown > MathAbs(profit) + xGPUS5MaxDrawDown = + xGPUS5MaxDrawDown == 0 || + xGPUS5MaxDrawDown > MathAbs(profit) ? MathAbs(profit) - : xTESTMaxDrawDown; + : xGPUS5MaxDrawDown; // // Update Buffers ... @@ -933,29 +933,29 @@ void XTESTHandleCalculateDrawDownUp() // collector.time = time; collector.volume = volume; - collector.maxDrawDown = xTESTMaxDrawDown; + collector.maxDrawDown = xGPUS5MaxDrawDown; collector.maxAllowedVolume = maxAllowedVolume; - collector.minBalanceForOpenTrade = xTESTTrader.GetMinBalanceForOpenTrades(); + collector.minBalanceForOpenTrade = xGPUS5Trader.GetMinBalanceForOpenTrades(); } else { // - xTESTMaxDrawUp = - xTESTMaxDrawUp == 0 || - xTESTMaxDrawUp < profit + xGPUS5MaxDrawUp = + xGPUS5MaxDrawUp == 0 || + xGPUS5MaxDrawUp < profit ? profit - : xTESTMaxDrawUp; + : xGPUS5MaxDrawUp; } // // Update Collector ... - xTESTCollector.Add(collector); + xGPUS5Collector.Add(collector); // // Update Reports ... - xTESTReporter.UpdateMaxDrawUpInReports(xTESTMaxDrawUp); - xTESTReporter.UpdateMaxDrawDownInReports(xTESTMaxDrawDown); - xTESTReporter.UpdateMaxSameTimeTradesInReports(signalsCount); + xGPUS5Reporter.UpdateMaxDrawUpInReports(xGPUS5MaxDrawUp); + xGPUS5Reporter.UpdateMaxDrawDownInReports(xGPUS5MaxDrawDown); + xGPUS5Reporter.UpdateMaxSameTimeTradesInReports(signalsCount); } // @@ -964,116 +964,116 @@ void XTESTHandleCalculateDrawDownUp() // // Runs When a Signal Successfully Executed ... -void XTESTOnSignal( +void XGPUS5OnSignal( XSignal &signal, // Specified Signal string &providers[] // Signal Providers ) { // // Issue Propper Alert ... - XTESTIssueSignalExecutionAlert( + XGPUS5IssueSignalExecutionAlert( signal, providers); // // Add Signal To Supports on Guard ... - xTESTGuard.AddSupport(signal); + xGPUS5Guard.AddSupport(signal); // // Update Reports ... - xTESTReporter.AddSignalToReports( + xGPUS5Reporter.AddSignalToReports( signal, providers); } // // Runs when a Position Got Take Profit ... -void XTESTOnTP( +void XGPUS5OnTP( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueTPAlert(signal); + XGPUS5IssueTPAlert(signal); // // Remove Signal From Guard Protector ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeTPInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeTPInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Got Stop Loss ... -void XTESTOnSL( +void XGPUS5OnSL( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueSLAlert(signal); + XGPUS5IssueSLAlert(signal); // // Remove Signal From Guard Protector ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Risk Free ... -void XTESTOnRF( +void XGPUS5OnRF( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueRFAlert(signal); + XGPUS5IssueRFAlert(signal); // // Remove Signal From Guard Protector ... // since RiskFree Signals has SL ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Force Closed ... -void XTESTOnFC( +void XGPUS5OnFC( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueFCAlert(signal); + XGPUS5IssueFCAlert(signal); // // Remove Signal From Guard Protector ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Guarded ... -void XTESTOnGuard( +void XGPUS5OnGuard( XSignal &signal, // Specified Signal ENUM_X_GUARD_REASONS reason, // Reason of Guard Applied string message, // Guard Returned Message @@ -1088,17 +1088,17 @@ void XTESTOnGuard( LogMessage(message); // - xTESTMEnableProvider = false; + xGPUS5MEnableProvider = false; } // // Issue Propper Alert ... - XTESTIssueGuardAlert(signal, reason, isStopOut); + XGPUS5IssueGuardAlert(signal, reason, isStopOut); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // @@ -1119,16 +1119,16 @@ void XTESTOnGuard( // // Calculating Volume for Tradings ... -double XTESTCalculateVolume( +double XGPUS5CalculateVolume( 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 = xTESTTrader.Count(); + int openSignals = xGPUS5Trader.Count(); // - double result = xTESTVolumeManager.CalculateVolume( + double result = xGPUS5VolumeManager.CalculateVolume( openSignals, _Symbol); @@ -1153,20 +1153,20 @@ double XTESTCalculateVolume( // // Update Report Info ... -void XTESTUpdateReports() +void XGPUS5UpdateReports() { // - double staticVolume = xTESTVolumeManager.GetStaticVolume(); - string staticVolumeCalculationMethod = EnumToString(xTESTStaticVolumeMethod); - double maxAllowedVolume = xTESTVolumeManager.GetMaxAllowedVolume(); - double volumeIncreaseMultiplier = xTESTVolumeManager.GetVolumeMultiplier(); - double balanceGowingToApplyMultiplier = xTESTVolumeManager.GetIncreaseMultiplierBalance(); + double staticVolume = xGPUS5VolumeManager.GetStaticVolume(); + string staticVolumeCalculationMethod = EnumToString(xGPUS5StaticVolumeMethod); + double maxAllowedVolume = xGPUS5VolumeManager.GetMaxAllowedVolume(); + double volumeIncreaseMultiplier = xGPUS5VolumeManager.GetVolumeMultiplier(); + double balanceGowingToApplyMultiplier = xGPUS5VolumeManager.GetIncreaseMultiplierBalance(); - double balanceGrowingToIncreaseMaxAllowedVolume = xTESTVolumeManager.GetIncreaseMaxAllowedVolumeBalance(); + double balanceGrowingToIncreaseMaxAllowedVolume = xGPUS5VolumeManager.GetIncreaseMaxAllowedVolumeBalance(); // // Update Reports Volume Info ... - xTESTReporter.UpdateReportsVolumeInfo( + xGPUS5Reporter.UpdateReportsVolumeInfo( staticVolume, staticVolumeCalculationMethod, maxAllowedVolume, @@ -1176,24 +1176,24 @@ void XTESTUpdateReports() // // Calculate Max Allowed Drawdown ... - double minBalanceForTradeBasedOnBalance = xTESTTrader.GetMinBalanceForOpenTrades(); - xTESTReporter.UpdateMinBalanceForOpenTradesInReports(minBalanceForTradeBasedOnBalance); + double minBalanceForTradeBasedOnBalance = xGPUS5Trader.GetMinBalanceForOpenTrades(); + xGPUS5Reporter.UpdateMinBalanceForOpenTradesInReports(minBalanceForTradeBasedOnBalance); } // -// Reset XTEST Info Buffers ... -void XTESTResetCollectors() +// Reset XGPUS5 Info Buffers ... +void XGPUS5ResetCollectors() { // // Reset Calculations Buffers and Variables ... - xTESTMaxDrawUp = 0; - xTESTMaxDrawDown = 0; + xGPUS5MaxDrawUp = 0; + xGPUS5MaxDrawDown = 0; // - xTESTTrader.Reset(); - xTESTReporter.Reset(); - xTESTCollector.Reset(); - xTESTVolumeManager.ResetForceVolumeMultiplier(); + xGPUS5Trader.Reset(); + xGPUS5Reporter.Reset(); + xGPUS5Collector.Reset(); + xGPUS5VolumeManager.ResetForceVolumeMultiplier(); } // @@ -1206,7 +1206,7 @@ void XTESTResetCollectors() // // Send Alert ... -void XTESTIssueAlert(string message) +void XGPUS5IssueAlert(string message) { // // Validate Args ... @@ -1216,7 +1216,7 @@ void XTESTIssueAlert(string message) } // - if (xTESTEnableAlerts) + if (xGPUS5EnableAlerts) { SendAlert(message); } @@ -1228,7 +1228,7 @@ void XTESTIssueAlert(string message) // // Send Take Profit Alert on Specific Signal ... -void XTESTIssueTPAlert( +void XGPUS5IssueTPAlert( XSignal &signal // Specified Signal ) { @@ -1236,15 +1236,15 @@ void XTESTIssueTPAlert( string message = ""; // - message = xTESTTrader.GenerateSignalTPComment(signal); + message = xGPUS5Trader.GenerateSignalTPComment(signal); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Stop Loss Alert on Specific Signal ... -void XTESTIssueSLAlert( +void XGPUS5IssueSLAlert( XSignal &signal // Specified Signal ) { @@ -1252,15 +1252,15 @@ void XTESTIssueSLAlert( string message = ""; // - message = xTESTTrader.GenerateSignalSLComment(signal); + message = xGPUS5Trader.GenerateSignalSLComment(signal); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Force Close Alert on Specific Signal ... -void XTESTIssueFCAlert( +void XGPUS5IssueFCAlert( XSignal &signal // Specified Signal ) { @@ -1268,15 +1268,15 @@ void XTESTIssueFCAlert( string message = ""; // - message = xTESTTrader.GenerateSignalForceCloseComment(signal); + message = xGPUS5Trader.GenerateSignalForceCloseComment(signal); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Risk Free Alert on Specific Signal ... -void XTESTIssueRFAlert( +void XGPUS5IssueRFAlert( XSignal &signal // Specified Signal ) { @@ -1284,15 +1284,15 @@ void XTESTIssueRFAlert( string message = ""; // - message = xTESTTrader.GenerateSignalRFComment(signal, 0); + message = xGPUS5Trader.GenerateSignalRFComment(signal, 0); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Guard Alert on Specific Signal ... -void XTESTIssueGuardAlert( +void XGPUS5IssueGuardAlert( 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 XTESTIssueGuardAlert( string message = ""; // - message = xTESTGuard.GenerateGuardedSignalComment( + message = xGPUS5Guard.GenerateGuardedSignalComment( signal, reason); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Initialization Succeed Alert ... -void XTESTIssueInitializationSucceedAlert() +void XGPUS5IssueInitializationSucceedAlert() { // - string message = "Initializion of (" + XTESTProviderName + " Provider" + " _ " + _Symbol + " _ " + EnumToString(_Period) + ") Succeeded ..."; - XTESTIssueAlert(message); + string message = "Initializion of (" + XGPUS5ProviderName + " Provider" + " _ " + _Symbol + " _ " + EnumToString(_Period) + ") Succeeded ..."; + XGPUS5IssueAlert(message); } // // Send De Initialization Succeed Alert ... -void XTESTIssueDeinitializationSucceedAlert() +void XGPUS5IssueDeinitializationSucceedAlert() { // - string message = "De Initializion of (" + XTESTProviderName + " Provider" + ") Succeeded ..."; - XTESTIssueAlert(message); + string message = "De Initializion of (" + XGPUS5ProviderName + " Provider" + ") Succeeded ..."; + XGPUS5IssueAlert(message); } // // Send Signal Successfully Execution Alert ... -void XTESTIssueSignalExecutionAlert( +void XGPUS5IssueSignalExecutionAlert( XSignal &signal, // Specified Signal string &providers[] // Signal Providers ) { // - string message = xTESTTrader.ToString(signal); + string message = xGPUS5Trader.ToString(signal); // string providersMsg = ToString(providers); @@ -1346,12 +1346,12 @@ void XTESTIssueSignalExecutionAlert( } // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Signal Execution Alert ... -void XTESTIssueSignalExecutionError(int error) +void XGPUS5IssueSignalExecutionError(int error) { // string message = GetSignalExecutionError(error); @@ -1361,7 +1361,7 @@ void XTESTIssueSignalExecutionError(int error) } // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // diff --git a/BKP/Main/Providers/x-saherelm.xtest.provider.inputs.lib.mq5 b/BKP/Main/Providers/x-saherelm.xtest.provider.inputs.lib.mq5 deleted file mode 100644 index 8fa14209..00000000 --- a/BKP/Main/Providers/x-saherelm.xtest.provider.inputs.lib.mq5 +++ /dev/null @@ -1,283 +0,0 @@ -/////////////////////////////////////////////////////////////// -// -// SaherElm IT Center MQL5 XTEST 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 "XTEST Provider"; - -// -// Commonly Used Configurations ... -input group "XTEST Common"; -// -// Provider ... -input bool xTESTEnableProvider = true; // Enable Provider -input int xTESTNumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick -// -// Alerts ... -input bool xTESTEnableAlerts = true; // Enable Events Alert -input bool xTESTEnableHourlyAlerts = false; // Send Alert on each new Hour -input bool xTESTEnableDailyAlerts = false; // Send Alert on each new Day -input bool xTESTEnableWeeklyAlerts = false; // Send Alert on each new Week -input bool xTESTEnableMonthlyAlerts = false; // Send Alert on each new Month -// -// Reports ... -input bool xTESTEnableDailyReports = false; // Send Report on each new Day -input bool xTESTEnableWeeklyReports = false; // Send Report on each new Week -input bool xTESTEnableMonthlyReports = false; // Send Report on each new Month - -// -// Trader and Expert Specific Configurations ... -input group "XTEST Trader"; -input int xTESTMagicNumber = 16940563; // Trader MagicNumber -input int xTESTSlippage = 10; // Trader Slippage - -// -// Trades Management Configurations ... -input group "XTEST Trade Management"; -input bool xTESTAllowLongTrades = true; // Allow Long Trades -input bool xTESTAllowShortTrades = true; // Allow Short Trades - -// -// Risk Management Configurations ... -input group "XTEST Risk Management"; -// -// Trade Count ... -input int xTESTMaxAllowedTrades = 10; // Max Allowed Trades at Same Time -input ENUM_X_CROSS_SIGNAL_METHOD xTESTCrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method -// -// Max Allowed Trade Age ... -input int xTESTMaxAllowedTradeAge = 300; // Detect Long Time Trades -input ENUM_X_GUARD_ACTIONS xTESTOldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades -// -// Trade Volume Specific Configurations ... -input double xTESTStaticVolumeFactor = 0.0004; // Static Volume baesd on Balance -input ENUM_STATIC_VOLUME_METHODS xTESTStaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume -input double xTESTVolumeMultiplier = 0; // Volume Increase Multiplier -input double xTESTApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance -input double xTESTMaxSupportedVolumePerTradeFactor = 0; // Max Supported Volume Per Trade Factor based on Balance -input double xTESTIncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance -// -// Trade Profits ... -input double xTESTMinRewardInPips = 60; // Minimum Reward Per Trade in Pips -input double xTESTRiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips -input double xTESTRiskFreeRate = 0; // Volume Multiplier for Risk Free Trades -// -// Guard Riskable Money and Profits ... -input double xTESTCriticalDrawDownFactor = 0.10; // Critical Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xTESTCriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown -input double xTESTMaxAllowedDrawDownFactor = 0.15; // Max Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xTESTMaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown -input int xTESTGuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched - -// -// Account Conditions for Trading ... -input double xTESTBalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades -input double xTESTFreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades - -// -// May be Used Later as Input Params ... -bool xTESTUseVirtualTPSl = false; // Use Virtual TP SL -bool xTESTEnableSignalAlerts = false; // Send Signal Alert - -// -// Validate Inputs before Initialization ... -bool XTESTValidateInputs() -{ - // - bool result = false; - - // - // Implement Other Verifications ... - - // - // Check Trading Availability ... - bool isTradeAvailable = xTESTAllowLongTrades || xTESTAllowShortTrades; - if (!isTradeAvailable) - { - LogMessage("XTEST => Warning: Trading disabled ..."); - } - - // - // Chekc Number of reading items per tick ... - result = xTESTNumberOfItemsPerTick >= 5; - if (!result) - { - // - LogMessage("XTEST invalid Number of items Reading Per Tick ..."); - - // - return result; - } - - // - // Check Max Allowed Trades Count ... - result = isTradeAvailable && xTESTMaxAllowedTrades >= 1; - if (!result) - { - // - LogMessage("XTEST Number of Trades not valid ..."); - - // - return result; - } - - // - // Check Free Margin ... - result = - isTradeAvailable && - xTESTFreeMarginFactorForOpenTrades > 0 && - xTESTFreeMarginFactorForOpenTrades < 1; - if (!result) - { - // - LogMessage("XTEST Invalid Free Margin ..."); - - // - return result; - } - - // - // Check min Balance for Open Trades ... - result = - isTradeAvailable && - xTESTBalanceFactorForOpenTrades > 0 && - xTESTBalanceFactorForOpenTrades < 1; - if (!result) - { - // - LogMessage("XTEST Invalid Min Balance for Open Trades ..."); - - // - return result; - } - - // - // Check Min Reward Per Trade ... - result = xTESTMinRewardInPips > 0; - if (!result) - { - // - LogMessage("XTEST Invalid Min Reward Per Trade ..."); - - // - return result; - } - - // - // Check Trades Volume ... - result = xTESTStaticVolumeFactor > 0; - if (!result) - { - // - LogMessage("XTEST Invalid Static Volume ..."); - - // - return result; - } - - // - // Check Volume Multiplier ... - result = xTESTVolumeMultiplier >= 0; - if (!result) - { - // - LogMessage("XTEST Invalid Volume Multiplier ..."); - - // - return result; - } - - // - result = - xTESTCriticalDrawDownFactor == 0 || (xTESTCriticalDrawDownFactor > 0 && - xTESTCriticalDrawDownFactor < 1); - if (!result) - { - // - LogMessage("XTEST Invalid Critical DrawDown Factor ..."); - - // - return result; - } - - // - result = - xTESTMaxAllowedDrawDownFactor == 0 || (xTESTMaxAllowedDrawDownFactor > 0 && - xTESTMaxAllowedDrawDownFactor < 1); - if (!result) - { - // - LogMessage("XTEST Invalid Max Allowed DrawDown Factor ..."); - - // - return result; - } - - // - // Check Guard Actions ... - // - result = - xTESTCriticalDrawDownFactor > 0 && - xTESTCriticalDrawDownFactor < 1 && - xTESTMaxAllowedDrawDownFactor > 0 && - xTESTMaxAllowedDrawDownFactor < 1; - if (!result) - { - // - LogMessage("XTEST For Critical Drawdown, you have to Specify Max Drawdown also ..."); - - // - return result; - } - - // - result = xTESTCriticalDrawDownFactor > 0 && xTESTCriticalDrawDownFactor < xTESTMaxAllowedDrawDownFactor; - if (!result) - { - // - LogMessage("XTEST Critical Drawdown must Smaller than Max Drawdown ..."); - - // - return result; - } - - // - if (xTESTCriticalDrawDownFactor > 0 && xTESTCriticalGuardAction == X_GUARD_DO_NOTHING) - { - LogMessage("XTEST IMPORTANT you Specified Critical Drawdown, but there is no any Guard Action ..."); - } - - // - if (xTESTMaxAllowedDrawDownFactor > 0 && xTESTMaxAllowedGuardAction == X_GUARD_DO_NOTHING) - { - LogMessage("XTEST 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/Experts/x-saherelm.xtest.ea.mq5 b/Experts/x-saherelm.xgpus5.ea.mq5 similarity index 67% rename from Experts/x-saherelm.xtest.ea.mq5 rename to Experts/x-saherelm.xgpus5.ea.mq5 index a41c1882..2b8b950e 100644 --- a/Experts/x-saherelm.xtest.ea.mq5 +++ b/Experts/x-saherelm.xgpus5.ea.mq5 @@ -2,7 +2,7 @@ // // SaherElm IT Center MQL5 Expert Advisor // ---------------------------------------- -// Name: XTEST +// Name: XGPUS5 // 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 XTEST EA" +#property description "SaherElm XGPUS5 EA" #property strict // @@ -28,9 +28,9 @@ input group "Commons"; // // XCTIMER inputs ... -input bool xTESTShowCandleTimer = true; // Show Condle Remaining Time -input color xTESTCandleTimerColot = clrYellow; // Candle Timer Color -input ENUM_BASE_CORNER xTESTCandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer +input bool xGPUS5ShowCandleTimer = true; // Show Condle Remaining Time +input color xGPUS5CandleTimerColot = clrYellow; // Candle Timer Color +input ENUM_BASE_CORNER xGPUS5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer // // END Inputs ... @@ -57,8 +57,8 @@ input ENUM_BASE_CORNER xTESTCandleTimerCorner = CORNER_RIGHT_LOWER; // Where to #include "../Libraries/x-saherelm.draw.lib.mq5" // -// XTEST Signal Provider ... -#include "../Providers/x-saherelm.xtest.provider.lib.mq5" +// XGPUS5 Signal Provider ... +#include "../Providers/x-saherelm.xgpus5.provider.lib.mq5" // // END Including Providers ... @@ -67,13 +67,13 @@ input ENUM_BASE_CORNER xTESTCandleTimerCorner = CORNER_RIGHT_LOWER; // Where to // // START Global Definitions: Variables, Properties and etc ... // -bool isXTESTNewHour; -bool isXTESTNewDay; -bool isXTESTNewWeek; -bool isXTESTNewMonth; +bool isXGPUS5NewHour; +bool isXGPUS5NewDay; +bool isXGPUS5NewWeek; +bool isXGPUS5NewMonth; // -int xTESTCTimerHandler = INVALID_HANDLE; +int xGPUS5CTimerHandler = INVALID_HANDLE; // // END Global Definitions: Variables, Properties and etc ... // @@ -87,7 +87,7 @@ int xTESTCTimerHandler = INVALID_HANDLE; int OnInit() { // - logTag = "XTESTEA"; + logTag = "XGPUS5EA"; drawPrefix = logTag; alertPrefix = logTag; @@ -107,17 +107,17 @@ int OnInit() } // - // Initialize XTEST Provider ... - if (!XTESTInitSignalProviderLibrary()) + // Initialize XGPUS5 Provider ... + if (!XGPUS5InitSignalProviderLibrary()) { return INIT_PARAMETERS_INCORRECT; } // // Init XCTimer ... - if (xTESTShowCandleTimer) + if (xGPUS5ShowCandleTimer) { - if (!XTESTCTimerInit()) + if (!XGPUS5CTimerInit()) { return INIT_FAILED; } @@ -148,15 +148,15 @@ void OnDeinit(const int reason) // Here we can handle De Initialization Reasons ... // - // De Initialize XTEST Provider ... - XTESTDeinitSignalProviderLibrary(reason); + // De Initialize XGPUS5 Provider ... + XGPUS5DeinitSignalProviderLibrary(reason); // // De Init XDraw Library ... // OnDeinitDrawLibrary(); // - IndicatorRelease(xTESTCTimerHandler); + IndicatorRelease(xGPUS5CTimerHandler); } // @@ -166,15 +166,15 @@ void OnTick() // // Handle Monthly Alert ... bool isFirstMonth = xMonth == -1; - isXTESTNewMonth = IsNewMonth(); + isXGPUS5NewMonth = IsNewMonth(); bool canMonthlyAlert = - isXTESTNewMonth && - xTESTEnableAlerts && - xTESTEnableMonthlyAlerts; + isXGPUS5NewMonth && + xGPUS5EnableAlerts && + xGPUS5EnableMonthlyAlerts; bool canMonthlyReport = !isFirstMonth && canMonthlyAlert && - xTESTEnableMonthlyReports; + xGPUS5EnableMonthlyReports; if (canMonthlyAlert) { // @@ -185,7 +185,7 @@ void OnTick() if (canMonthlyReport) { // - string report = xTESTReporter.GenerateReportString(XREPORT_MONTHLY); + string report = xGPUS5Reporter.GenerateReportString(XREPORT_MONTHLY); // message = "Last Month Report:\n" + report; @@ -193,7 +193,7 @@ void OnTick() // // Reset Report ... - xTESTReporter.Reset(XREPORT_MONTHLY); + xGPUS5Reporter.Reset(XREPORT_MONTHLY); // SendAlert(message); @@ -202,15 +202,15 @@ void OnTick() // // Handle Weekly Alert ... bool isFirstWeek = xDayOfWeek == -1; - isXTESTNewWeek = IsNewWeek(); + isXGPUS5NewWeek = IsNewWeek(); bool canWeeklyAlert = - isXTESTNewWeek && - xTESTEnableAlerts && - xTESTEnableWeeklyAlerts; + isXGPUS5NewWeek && + xGPUS5EnableAlerts && + xGPUS5EnableWeeklyAlerts; bool canWeeklyReport = !isFirstWeek && canWeeklyAlert && - xTESTEnableWeeklyReports; + xGPUS5EnableWeeklyReports; if (canWeeklyAlert) { // @@ -221,7 +221,7 @@ void OnTick() if (canWeeklyReport) { // - string report = xTESTReporter.GenerateReportString(XREPORT_WEEKLY); + string report = xGPUS5Reporter.GenerateReportString(XREPORT_WEEKLY); // message = "Last Week Report:\n" + report; @@ -229,7 +229,7 @@ void OnTick() // // Reset Report ... - xTESTReporter.Reset(XREPORT_WEEKLY); + xGPUS5Reporter.Reset(XREPORT_WEEKLY); // SendAlert(message); @@ -238,15 +238,15 @@ void OnTick() // // Handle Daily Alert ... bool isFirstDay = xDay == -1; - isXTESTNewDay = IsNewDay(); + isXGPUS5NewDay = IsNewDay(); bool canDailyAlert = - isXTESTNewDay && - xTESTEnableAlerts && - xTESTEnableDailyAlerts; + isXGPUS5NewDay && + xGPUS5EnableAlerts && + xGPUS5EnableDailyAlerts; bool canDailyReport = !isFirstDay && canDailyAlert && - xTESTEnableDailyReports; + xGPUS5EnableDailyReports; if (canDailyAlert) { // @@ -257,7 +257,7 @@ void OnTick() if (canDailyReport) { // - string report = xTESTReporter.GenerateReportString(XREPORT_DAILY); + string report = xGPUS5Reporter.GenerateReportString(XREPORT_DAILY); // message = "Last Week Report:\n" + report; @@ -265,7 +265,7 @@ void OnTick() // // Reset Report ... - xTESTReporter.Reset(XREPORT_DAILY); + xGPUS5Reporter.Reset(XREPORT_DAILY); // SendAlert(message); @@ -274,11 +274,11 @@ void OnTick() // // Handle Hourly Alert ... bool isFirstHour = xHour == -1; - isXTESTNewHour = IsNewHour(); + isXGPUS5NewHour = IsNewHour(); bool canHourlyAlert = - isXTESTNewHour && - xTESTEnableAlerts && - xTESTEnableHourlyAlerts; + isXGPUS5NewHour && + xGPUS5EnableAlerts && + xGPUS5EnableHourlyAlerts; if (canHourlyAlert) { // @@ -290,33 +290,33 @@ void OnTick() // // Prevent Going Forward if user Disable it ... - if (xTESTEnableProvider) + if (xGPUS5EnableProvider) { // - // Handle Processing on XTEST Signal Provider ... - XTESTSignalProviderDoControlState(); + // Handle Processing on XGPUS5 Signal Provider ... + XGPUS5SignalProviderDoControlState(); } // // Check Can Ignore Tick or not .. - bool canIgnoreTick = xTESTIsTestMode + bool canIgnoreTick = xGPUS5IsTestMode ? !IsNewCandle() - : !IsNewCandle() && xTESTWaitUntilNextCandle; + : !IsNewCandle() && xGPUS5WaitUntilNextCandle; if (canIgnoreTick) { return; } // - xTESTWaitUntilNextCandle = false; + xGPUS5WaitUntilNextCandle = false; // // Prevent Going Forward if user Disable it ... - if (xTESTEnableProvider) + if (xGPUS5EnableProvider) { // - // Handle Processing on XTEST Signal Provider ... - XTESTSignalProviderHandleTick(); + // Handle Processing on XGPUS5 Signal Provider ... + XGPUS5SignalProviderHandleTick(); } } @@ -327,11 +327,11 @@ void OnTrade() // // Prevent Going Forward if user Disable it ... - if (xTESTEnableProvider) + if (xGPUS5EnableProvider) { // - // Handle Processing Trades on XTEST Signal Provider ... - XTESTSignalProviderHandleTrade(); + // Handle Processing Trades on XGPUS5 Signal Provider ... + XGPUS5SignalProviderHandleTrade(); } } @@ -354,8 +354,8 @@ bool ValidateInputs() // Validate Args ... // - // Validate XTEST Provider Inputs ... - result = XTESTValidateInputs(); + // Validate XGPUS5 Provider Inputs ... + result = XGPUS5ValidateInputs(); if (!result) { return false; @@ -370,23 +370,23 @@ bool ValidateInputs() return result; } -bool XTESTCTimerInit() +bool XGPUS5CTimerInit() { // bool result = true; // - xTESTCTimerHandler = iCustom( + xGPUS5CTimerHandler = iCustom( _Symbol, _Period, "x-saherelm.xctimer.indicator", // // Inputs ... - xTESTCandleTimerColot, - xTESTCandleTimerCorner); + xGPUS5CandleTimerColot, + xGPUS5CandleTimerCorner); // - if (xTESTCTimerHandler == INVALID_HANDLE) + if (xGPUS5CTimerHandler == INVALID_HANDLE) { result = false; } diff --git a/Projects/XGPUS5/Classes/x-saherelm.provider.lib.mq5 b/Projects/XGPUS5/Classes/x-saherelm.provider.lib.mq5 index 765544c7..63279162 100644 --- a/Projects/XGPUS5/Classes/x-saherelm.provider.lib.mq5 +++ b/Projects/XGPUS5/Classes/x-saherelm.provider.lib.mq5 @@ -254,14 +254,14 @@ struct XMarketConditions // // -class XCPriver : public XCBase +class XCProvider : public XCBase { // // Public ... public: // // Constructor ... - XCPriver( + XCProvider( // // Common Requirements ... string xSymbol, // Which Symbol is Used @@ -362,7 +362,7 @@ public: // // Deconstructor ... - ~XCPriver() {} + ~XCProvider() {} // // START Common Functions ... diff --git a/Projects/XGPUS5/Experts/x-saherelm.xgpus5.ea.mq5 b/Projects/XGPUS5/Experts/x-saherelm.xgpus5.ea.mq5 index a038a56a..2b8b950e 100644 --- a/Projects/XGPUS5/Experts/x-saherelm.xgpus5.ea.mq5 +++ b/Projects/XGPUS5/Experts/x-saherelm.xgpus5.ea.mq5 @@ -2,7 +2,7 @@ // // SaherElm IT Center MQL5 Expert Advisor // ---------------------------------------- -// Name: XAUUSD +// Name: XGPUS5 // Description: this is an expert controller // advisors which provides a mechanism for use them ... // @@ -27,10 +27,16 @@ input group "Commons"; // -// END Inputs ... +// XCTIMER inputs ... +input bool xGPUS5ShowCandleTimer = true; // Show Condle Remaining Time +input color xGPUS5CandleTimerColot = clrYellow; // Candle Timer Color +input ENUM_BASE_CORNER xGPUS5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer + +// +// END Inputs ... // -// +// // START Including Providers ... // @@ -65,6 +71,9 @@ bool isXGPUS5NewHour; bool isXGPUS5NewDay; bool isXGPUS5NewWeek; bool isXGPUS5NewMonth; + +// +int xGPUS5CTimerHandler = INVALID_HANDLE; // // END Global Definitions: Variables, Properties and etc ... // @@ -104,6 +113,16 @@ int OnInit() return INIT_PARAMETERS_INCORRECT; } + // + // Init XCTimer ... + if (xGPUS5ShowCandleTimer) + { + if (!XGPUS5CTimerInit()) + { + return INIT_FAILED; + } + } + // // Init Succeed ... return INIT_SUCCEEDED; @@ -135,6 +154,9 @@ void OnDeinit(const int reason) // // De Init XDraw Library ... // OnDeinitDrawLibrary(); + + // + IndicatorRelease(xGPUS5CTimerHandler); } // @@ -266,7 +288,6 @@ void OnTick() SendAlert(message); } - // // Prevent Going Forward if user Disable it ... if (xGPUS5EnableProvider) @@ -277,11 +298,18 @@ void OnTick() } // - if (!IsNewCandle()) + // Check Can Ignore Tick or not .. + bool canIgnoreTick = xGPUS5IsTestMode + ? !IsNewCandle() + : !IsNewCandle() && xGPUS5WaitUntilNextCandle; + if (canIgnoreTick) { return; } + // + xGPUS5WaitUntilNextCandle = false; + // // Prevent Going Forward if user Disable it ... if (xGPUS5EnableProvider) @@ -342,6 +370,30 @@ bool ValidateInputs() return result; } +bool XGPUS5CTimerInit() +{ + // + bool result = true; + + // + xGPUS5CTimerHandler = iCustom( + _Symbol, + _Period, + "x-saherelm.xctimer.indicator", + // + // Inputs ... + xGPUS5CandleTimerColot, + xGPUS5CandleTimerCorner); + + // + if (xGPUS5CTimerHandler == INVALID_HANDLE) + { + result = false; + } + + // + return result; +} // // END Functions ... // diff --git a/Projects/XGPUS5/Indicators/x-saherelm.xctimer.indicator.mq5 b/Projects/XGPUS5/Indicators/x-saherelm.xctimer.indicator.mq5 new file mode 100644 index 00000000..6a064212 --- /dev/null +++ b/Projects/XGPUS5/Indicators/x-saherelm.xctimer.indicator.mq5 @@ -0,0 +1,206 @@ +/////////////////////////////////////////////////////// +// +// SaherElm IT Center MQL5 XCTimer Indicator +// --------------------------------------------- +// Name: XCTimer +// Description: Trend Magic Indicator ... +// +// +// Maintainer: +// ------------ +// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) +// +////////////////////////////////////////////////////// +// +// Global Properties ... +#property copyright "Copyright 2023, SaherElm IT Center" +#property link "https://saherelm.ir" +#property version "1.00" +#property description "SaherElm XCTimer Indicator" +#property strict + +// +// START Constants ... +// +#define ShortName "XCTimer" +// +// END Constants ... +// + +// +// START Inputs ... +// +input color clr = clrYellow; +input ENUM_BASE_CORNER corner = CORNER_RIGHT_LOWER; +// +// END Inputs ... +// + +// +// START Buffers ... +// +// +// END Buffers ... +// + +// +// START Global Definitions: Variables, Properties and etc ... +// +// +// END Global Definitions: Variables, Properties and etc ... +// + +// +// START Event Handlers ... +// +// +// Initialization ... +int OnInit() +{ + // + // Validate Inputs ... + CreateIndicatorObject(); + + // + // Set Indicator ShortName ... + SetIndicatorName(); + + // + // Init Succeed ... + return INIT_SUCCEEDED; +} + +// +// DeInitialization ... +void OnDeinit(const int reason) +{ + // + // REASON_PROGRAM 0 The EA has stopped working calling the ExpertRemove() function + // REASON_REMOVE 1 Program removed from a chart + // REASON_RECOMPILE 2 Program recompiled + // REASON_CHARTCHANGE 3 A symbol or a chart period is changed + // REASON_CHARTCLOSE 4 Chart closed + // REASON_PARAMETERS 5 Inputs changed by a user + // REASON_ACCOUNT 6 Another account has been activated or reconnection to the trade server has occurred due to changes in the account settings + // REASON_TEMPLATE 7 Another chart template applied + // REASON_INITFAILED 8 The OnInit() handler returned a non-zero value + // REASON_CLOSE 9 Terminal closed + + // + // Delete Object ... + ObjectDelete(0, ShortName); +} + +// +// Calculations ... +// +// Calculating what we want ... +int OnCalculate( + // + // total Candles on chart ... + const int rates_total, + // + // total calculated Candles on charts ... + const int prev_calculated, + // + // history of Candles Open Time ... + const datetime &time[], + // + // history of Candles Open Price ... + const double &open[], + // + // history of Candles High Price ... + const double &high[], + // + // history of Candles Low Price ... + const double &low[], + // + // history of Candles Close Price ... + const double &close[], + // + // history of Tick Volumes on Candle ... + const long &tick_volume[], + // + // history of Trade Volumes ... + const long &volume[], + // + // history of Candles Spread Price ... + const int &spread[]) +{ + // + ArraySetAsSeries(time, true); + + // + int m = int(time[0] + PeriodSeconds() - TimeCurrent()); + int s = m % 60; + m = (m - s) / 60; + + // + long mSpread = SymbolInfoInteger(Symbol(), SYMBOL_SPREAD); + + string _sp = "", _m = "", _s = ""; + if (mSpread < 10) + _sp = ".."; + else if (mSpread < 100) + _sp = "."; + if (m < 10) + _m = "0"; + if (s < 10) + _s = "0"; + + // + string objText = "Spread: " + IntegerToString(mSpread) + _sp + " Next Bar in " + _m + IntegerToString(m) + ":" + _s + IntegerToString(s); + + // + ObjectSetInteger(0, ShortName, OBJPROP_COLOR, clr); + ObjectSetString(0, ShortName, OBJPROP_TEXT, objText); + ObjectSetInteger(0, ShortName, OBJPROP_FONTSIZE, 10); + ObjectSetString(0, ShortName, OBJPROP_FONT, "Courier"); + + // + return rates_total; +} +// +// END Event Handlers ... +// + +// +// START Functions ... +// +// +// Set Indicator Short Name and also we can define Buffers Labels ... +void SetIndicatorName() +{ + IndicatorSetString(INDICATOR_SHORTNAME, ShortName); +} + +void CreateIndicatorObject() +{ + // + ObjectCreate(0, ShortName, OBJ_LABEL, 0, 0, 0); + ObjectSetInteger(0, ShortName, OBJPROP_CORNER, corner); + ObjectSetInteger(0, ShortName, OBJPROP_XDISTANCE, 10); + ObjectSetInteger(0, ShortName, OBJPROP_YDISTANCE, 2); + ENUM_ANCHOR_POINT Anchor = ANCHOR_LEFT_UPPER; + switch (corner) + { + case CORNER_LEFT_UPPER: + Anchor = ANCHOR_LEFT_UPPER; + break; + case CORNER_RIGHT_UPPER: + Anchor = ANCHOR_RIGHT_UPPER; + break; + case CORNER_LEFT_LOWER: + Anchor = ANCHOR_LEFT_LOWER; + break; + case CORNER_RIGHT_LOWER: + Anchor = ANCHOR_RIGHT_LOWER; + break; + } + + // + ObjectSetInteger(0, ShortName, OBJPROP_ANCHOR, Anchor); +} +// +// END Functions ... +// diff --git a/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 b/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 index 1a141d9d..5d1edf1f 100644 --- a/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 +++ b/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 @@ -58,10 +58,10 @@ input bool xGPUS5XTSFIAllowShortSignals = true; // Enable Short Signals // // XOBDLH ... -input group "XGPUS5 XOBDLH Signaller"; -input bool xGPUS5XOBDLHEnableSignaller = true; // Enable Signaller -input bool xGPUS5XOBDLHAllowLongSignals = true; // Enable Long Signals -input bool xGPUS5XOBDLHAllowShortSignals = true; // Enable Short Signals +// input group "XGPUS5 XOBDLH Signaller"; +// input bool xGPUS5XOBDLHEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XOBDLHAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XOBDLHAllowShortSignals = true; // Enable Short Signals // // XCHMACC ... @@ -72,23 +72,34 @@ input bool xGPUS5XCHMACCAllowShortSignals = true; // Enable Short Signals // // XCHMAMX ... -input group "XGPUS5 XCHMAMX Signaller"; -input bool xGPUS5XCHMAMXEnableSignaller = true; // Enable Signaller -input bool xGPUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals -input bool xGPUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals +// input group "XGPUS5 XCHMAMX Signaller"; +// input bool xGPUS5XCHMAMXEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals // // XCHMAMN ... input group "XGPUS5 XCHMAMN Signaller"; -input bool xGPUS5XCHMAMNEnableSignaller = true; // Enable Signaller -input bool xGPUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals -input bool xGPUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals +// input bool xGPUS5XCHMAMNEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals // -bool xGPUS5IsTestMode = true; +// Check in Test Mode or not ... +bool xGPUS5IsTestMode = false; + +// +// Detect max Input Length of Indicators ... int xGPUS5MaxLengthOfInputs = 0; + +// +// Detect Calculated Bars ... int xGPUS5CalculatedBars = 0; +// +// Check prevent Double Signalling on Same Candle ... +bool xGPUS5WaitUntilNextCandle = false; + // // Signaller Variables ... // @@ -117,9 +128,9 @@ bool xGPUS5MXTSFIAllowShortSignals = xGPUS5XTSFIAllowShortSignals; // // XOBDLH ... -bool xGPUS5MXOBDLHEnableSignaller = xGPUS5XOBDLHEnableSignaller; -bool xGPUS5MXOBDLHAllowLongSignals = xGPUS5XOBDLHAllowLongSignals; -bool xGPUS5MXOBDLHAllowShortSignals = xGPUS5XOBDLHAllowShortSignals; +bool xGPUS5MXOBDLHEnableSignaller = false; // xGPUS5XOBDLHEnableSignaller; +bool xGPUS5MXOBDLHAllowLongSignals = false; // xGPUS5XOBDLHAllowLongSignals; +bool xGPUS5MXOBDLHAllowShortSignals = false; // xGPUS5XOBDLHAllowShortSignals; // // XCHMACC ... @@ -129,18 +140,18 @@ bool xGPUS5MXCHMACCAllowShortSignals = xGPUS5XCHMACCAllowShortSignals; // // XCHMAMX ... -bool xGPUS5MXCHMAMXEnableSignaller = xGPUS5XCHMAMXEnableSignaller; -bool xGPUS5MXCHMAMXAllowLongSignals = xGPUS5XCHMAMXAllowLongSignals; -bool xGPUS5MXCHMAMXAllowShortSignals = xGPUS5XCHMAMXAllowShortSignals; +bool xGPUS5MXCHMAMXEnableSignaller = false; // xGPUS5XCHMAMXEnableSignaller; +bool xGPUS5MXCHMAMXAllowLongSignals = false; // xGPUS5XCHMAMXAllowLongSignals; +bool xGPUS5MXCHMAMXAllowShortSignals = false; // xGPUS5XCHMAMXAllowShortSignals; // // XCHMAMN ... -bool xGPUS5MXCHMAMNEnableSignaller = xGPUS5XCHMAMNEnableSignaller; -bool xGPUS5MXCHMAMNAllowLongSignals = xGPUS5XCHMAMNAllowLongSignals; -bool xGPUS5MXCHMAMNAllowShortSignals = xGPUS5XCHMAMNAllowShortSignals; +bool xGPUS5MXCHMAMNEnableSignaller = false; // xGPUS5XCHMAMNEnableSignaller; +bool xGPUS5MXCHMAMNAllowLongSignals = false; // xGPUS5XCHMAMNAllowLongSignals; +bool xGPUS5MXCHMAMNAllowShortSignals = false; // xGPUS5XCHMAMNAllowShortSignals; // -XCPriver *xGPUS5Provider; +XCProvider *xGPUS5Provider; // // Validate Indicators Inputs ... @@ -230,8 +241,8 @@ bool XGPUS5ValidateIndicatorsInputs() } // - // Make an Instance Of XCPriver Class for Use ... - xGPUS5Provider = new XCPriver( + // Make an Instance Of XCProvider Class for Use ... + xGPUS5Provider = new XCProvider( // // Commons ... _Symbol, @@ -297,7 +308,7 @@ bool XGPUS5InitIndicators() // // Make it Enable when we need to Log Market Conditions ... - // xGPUS5IsTestMode = false; // IsRunningOnTestMode(); + xGPUS5IsTestMode = IsRunningOnTestMode(); // // Check and Calculate Max Length in Inputs ... @@ -425,10 +436,10 @@ bool XGPUS5InitIndicators() // // XOBDLH ... - bool isXOBDLHEnable = - xGPUS5XOBDLHEnableSignaller && - (xGPUS5XOBDLHAllowLongSignals || - xGPUS5XOBDLHAllowShortSignals); + bool isXOBDLHEnable = false; + // xGPUS5XOBDLHEnableSignaller && + // (xGPUS5XOBDLHAllowLongSignals || + // xGPUS5XOBDLHAllowShortSignals); // // XCHMACC ... @@ -439,17 +450,17 @@ bool XGPUS5InitIndicators() // // XCHMAMX ... - bool isXCHMAMXEnable = - xGPUS5XCHMAMXEnableSignaller && - (xGPUS5XCHMAMXAllowLongSignals || - xGPUS5XCHMAMXAllowShortSignals); + bool isXCHMAMXEnable = false; + // xGPUS5XCHMAMXEnableSignaller && + // (xGPUS5XCHMAMXAllowLongSignals || + // xGPUS5XCHMAMXAllowShortSignals); // // XCHMAMN ... - bool isXCHMAMNEnable = - xGPUS5XCHMAMNEnableSignaller && - (xGPUS5XCHMAMNAllowLongSignals || - xGPUS5XCHMAMNAllowShortSignals); + bool isXCHMAMNEnable = false; + // xGPUS5XCHMAMNEnableSignaller && + // (xGPUS5XCHMAMNAllowLongSignals || + // xGPUS5XCHMAMNAllowShortSignals); // bool hasSignaller = @@ -865,7 +876,7 @@ bool XGPUS5HasLongSignal( { // // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xGPUS5IsTestMode) + if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); @@ -1021,7 +1032,7 @@ bool XGPUS5HasShortSignal( { // // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xGPUS5IsTestMode) + if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); @@ -1092,12 +1103,12 @@ void XGPUS5DisableLongSignallers() // // XOBDLH ... - if (xGPUS5MXOBDLHEnableSignaller) - { - // - xGPUS5Provider.DisbaleXOBDLHLongs(); - xGPUS5MXOBDLHAllowLongSignals = false; - } + // if (xGPUS5MXOBDLHEnableSignaller) + // { + // // + // xGPUS5Provider.DisbaleXOBDLHLongs(); + // xGPUS5MXOBDLHAllowLongSignals = false; + // } // // XCHMACC ... @@ -1110,21 +1121,21 @@ void XGPUS5DisableLongSignallers() // // XCHMAMX ... - if (xGPUS5MXCHMAMXEnableSignaller) - { - // - xGPUS5Provider.DisbaleXCHMAMXLongs(); - xGPUS5MXCHMAMXAllowLongSignals = false; - } + // if (xGPUS5MXCHMAMXEnableSignaller) + // { + // // + // xGPUS5Provider.DisbaleXCHMAMXLongs(); + // xGPUS5MXCHMAMXAllowLongSignals = false; + // } // // XCHMAMN ... - if (xGPUS5MXCHMAMNEnableSignaller) - { - // - xGPUS5Provider.DisbaleXCHMAMNLongs(); - xGPUS5MXCHMAMNAllowLongSignals = false; - } + // if (xGPUS5MXCHMAMNEnableSignaller) + // { + // // + // xGPUS5Provider.DisbaleXCHMAMNLongs(); + // xGPUS5MXCHMAMNAllowLongSignals = false; + // } } // @@ -1202,20 +1213,20 @@ void XGPUS5EnableLongSignallers() // // XOBDLH ... - if (xGPUS5MXOBDLHEnableSignaller) - { - // - xGPUS5MXOBDLHAllowLongSignals = - xGPUS5XOBDLHAllowLongSignals - ? true - : xGPUS5MXOBDLHAllowLongSignals; + // if (xGPUS5MXOBDLHEnableSignaller) + // { + // // + // xGPUS5MXOBDLHAllowLongSignals = + // xGPUS5XOBDLHAllowLongSignals + // ? true + // : xGPUS5MXOBDLHAllowLongSignals; - // - if (xGPUS5MXOBDLHAllowLongSignals) - { - xGPUS5Provider.EnableXOBDLHLongs(); - } - } + // // + // if (xGPUS5MXOBDLHAllowLongSignals) + // { + // xGPUS5Provider.EnableXOBDLHLongs(); + // } + // } // // XCHMACC ... @@ -1236,37 +1247,37 @@ void XGPUS5EnableLongSignallers() // // XCHMAMX ... - if (xGPUS5MXCHMAMXEnableSignaller) - { - // - xGPUS5MXCHMAMXAllowLongSignals = - xGPUS5XCHMAMXAllowLongSignals - ? true - : xGPUS5MXCHMAMXAllowLongSignals; + // if (xGPUS5MXCHMAMXEnableSignaller) + // { + // // + // xGPUS5MXCHMAMXAllowLongSignals = + // xGPUS5XCHMAMXAllowLongSignals + // ? true + // : xGPUS5MXCHMAMXAllowLongSignals; - // - if (xGPUS5MXCHMAMXAllowLongSignals) - { - xGPUS5Provider.EnableXCHMAMXLongs(); - } - } + // // + // if (xGPUS5MXCHMAMXAllowLongSignals) + // { + // xGPUS5Provider.EnableXCHMAMXLongs(); + // } + // } // // XCHMAMN ... - if (xGPUS5MXCHMAMNEnableSignaller) - { - // - xGPUS5MXCHMAMNAllowLongSignals = - xGPUS5XCHMAMNAllowLongSignals - ? true - : xGPUS5MXCHMAMNAllowLongSignals; + // if (xGPUS5MXCHMAMNEnableSignaller) + // { + // // + // xGPUS5MXCHMAMNAllowLongSignals = + // xGPUS5XCHMAMNAllowLongSignals + // ? true + // : xGPUS5MXCHMAMNAllowLongSignals; - // - if (xGPUS5MXCHMAMNAllowLongSignals) - { - xGPUS5Provider.EnableXCHMAMNLongs(); - } - } + // // + // if (xGPUS5MXCHMAMNAllowLongSignals) + // { + // xGPUS5Provider.EnableXCHMAMNLongs(); + // } + // } } // @@ -1311,12 +1322,12 @@ void XGPUS5DisableShortSignallers() // // XOBDLH ... - if (xGPUS5MXOBDLHEnableSignaller) - { - // - xGPUS5Provider.DisableXOBDLHShorts(); - xGPUS5MXOBDLHAllowShortSignals = false; - } + // if (xGPUS5MXOBDLHEnableSignaller) + // { + // // + // xGPUS5Provider.DisableXOBDLHShorts(); + // xGPUS5MXOBDLHAllowShortSignals = false; + // } // // XCHMACC ... @@ -1329,21 +1340,21 @@ void XGPUS5DisableShortSignallers() // // XCHMAMX ... - if (xGPUS5MXCHMAMXEnableSignaller) - { - // - xGPUS5Provider.DisableXCHMAMXShorts(); - xGPUS5MXCHMAMXAllowShortSignals = false; - } + // if (xGPUS5MXCHMAMXEnableSignaller) + // { + // // + // xGPUS5Provider.DisableXCHMAMXShorts(); + // xGPUS5MXCHMAMXAllowShortSignals = false; + // } // // XCHMAMN ... - if (xGPUS5MXCHMAMNEnableSignaller) - { - // - xGPUS5Provider.DisableXCHMAMNShorts(); - xGPUS5MXCHMAMNAllowShortSignals = false; - } + // if (xGPUS5MXCHMAMNEnableSignaller) + // { + // // + // xGPUS5Provider.DisableXCHMAMNShorts(); + // xGPUS5MXCHMAMNAllowShortSignals = false; + // } } // @@ -1421,20 +1432,20 @@ void XGPUS5EnableShortSignallers() // // XOBDLH ... - if (xGPUS5MXOBDLHEnableSignaller) - { - // - xGPUS5MXOBDLHAllowShortSignals = - xGPUS5XOBDLHAllowShortSignals - ? true - : xGPUS5MXOBDLHAllowShortSignals; + // if (xGPUS5MXOBDLHEnableSignaller) + // { + // // + // xGPUS5MXOBDLHAllowShortSignals = + // xGPUS5XOBDLHAllowShortSignals + // ? true + // : xGPUS5MXOBDLHAllowShortSignals; - // - if (xGPUS5MXOBDLHAllowShortSignals) - { - xGPUS5Provider.EnableXOBDLHShorts(); - } - } + // // + // if (xGPUS5MXOBDLHAllowShortSignals) + // { + // xGPUS5Provider.EnableXOBDLHShorts(); + // } + // } // // XCHMACC ... @@ -1455,37 +1466,37 @@ void XGPUS5EnableShortSignallers() // // XCHMAMX ... - if (xGPUS5MXCHMAMXEnableSignaller) - { - // - xGPUS5MXCHMAMXAllowShortSignals = - xGPUS5XCHMAMXAllowShortSignals - ? true - : xGPUS5MXCHMAMXAllowShortSignals; + // if (xGPUS5MXCHMAMXEnableSignaller) + // { + // // + // xGPUS5MXCHMAMXAllowShortSignals = + // xGPUS5XCHMAMXAllowShortSignals + // ? true + // : xGPUS5MXCHMAMXAllowShortSignals; - // - if (xGPUS5MXCHMAMXAllowShortSignals) - { - xGPUS5Provider.EnableXCHMAMXShorts(); - } - } + // // + // if (xGPUS5MXCHMAMXAllowShortSignals) + // { + // xGPUS5Provider.EnableXCHMAMXShorts(); + // } + // } // // XCHMAMN ... - if (xGPUS5MXCHMAMNEnableSignaller) - { - // - xGPUS5MXCHMAMNAllowShortSignals = - xGPUS5XCHMAMNAllowShortSignals - ? true - : xGPUS5MXCHMAMNAllowShortSignals; + // if (xGPUS5MXCHMAMNEnableSignaller) + // { + // // + // xGPUS5MXCHMAMNAllowShortSignals = + // xGPUS5XCHMAMNAllowShortSignals + // ? true + // : xGPUS5MXCHMAMNAllowShortSignals; - // - if (xGPUS5MXCHMAMNAllowShortSignals) - { - xGPUS5Provider.EnableXCHMAMNShorts(); - } - } + // // + // if (xGPUS5MXCHMAMNAllowShortSignals) + // { + // xGPUS5Provider.EnableXCHMAMNShorts(); + // } + // } } // @@ -1525,129 +1536,1907 @@ bool XGPUS5XTDHasLongSignal() // 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 ... + // XTD Long ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XTD Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -1655,136 +3444,1910 @@ bool XGPUS5XTDHasLongSignal() // ) // + // XTD Long ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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 ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -1833,129 +5396,1907 @@ bool XGPUS5XTDHasShortSignal() // 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 ... + // XTD Short ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XTD Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -1963,136 +7304,1910 @@ bool XGPUS5XTDHasShortSignal() // ) // + // XTD Short ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTD Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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 Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTD Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2141,129 +9256,1907 @@ bool XGPUS5XTAMHasLongSignal() // 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 ... + // XTAM Long ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XTAM Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2271,136 +11164,1910 @@ bool XGPUS5XTAMHasLongSignal() // ) // + // XTAM Long ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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 ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2449,129 +13116,1907 @@ bool XGPUS5XTAMHasShortSignal() // 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 ... + // XTAM Short ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XTAM Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2579,136 +15024,1910 @@ bool XGPUS5XTAMHasShortSignal() // ) // + // XTAM Short ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTAM Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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 ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTAM Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2757,129 +16976,1907 @@ bool XGPUS5XSIHasLongSignal() // 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 ... + // XSI Long ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - 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 ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XSI Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2887,136 +18884,1910 @@ bool XGPUS5XSIHasLongSignal() // ) // + // XSI Long ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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) - // - ) + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3065,129 +20836,1907 @@ bool XGPUS5XSIHasShortSignal() // 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 ... + // XSI Short ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - 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 ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XSI Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3195,136 +22744,1910 @@ bool XGPUS5XSIHasShortSignal() // ) // + // XSI Short ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XSI Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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) - // - ) + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XSI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3373,129 +24696,1907 @@ bool XGPUS5XTSFIHasLongSignal() // 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 ... + // XTSFI Long ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XTSFI Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3503,136 +26604,1910 @@ bool XGPUS5XTSFIHasLongSignal() // ) // + // XTSFI Long ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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) - // - ) + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3681,129 +28556,1907 @@ bool XGPUS5XTSFIHasShortSignal() // 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 ... + // XTSFI Short ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XTSFI Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3811,136 +30464,1910 @@ bool XGPUS5XTSFIHasShortSignal() // ) // + // XTSFI Short ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XTSFI Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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) - // - ) + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XTSFI Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -3984,279 +32411,7 @@ bool XGPUS5XOBDLHHasLongSignal() // && // - // 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) - // - ) - // - ) - // - ) - // - ) - // - ) + false // ; @@ -4292,279 +32447,7 @@ bool XGPUS5XOBDLHHasShortSignal() // && // - // 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) - // - ) - // - ) - // - ) - // - ) - // - ) + false // ; @@ -4605,129 +32488,1907 @@ bool XGPUS5XCHMACCHasLongSignal() // 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 ... + // XCHMACC Long ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XCHMACC Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // 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 + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4735,136 +34396,1910 @@ bool XGPUS5XCHMACCHasLongSignal() // ) // + // XCHMACC Long ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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) - // - ) + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Long ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4913,129 +36348,1907 @@ bool XGPUS5XCHMACCHasShortSignal() // 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 ... + // XCHMACC Short ... + // Resolve Stop Outs ... ( // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // XCHMACC Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Stop Outs ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -5043,136 +38256,1910 @@ bool XGPUS5XCHMACCHasShortSignal() // ) // + // XCHMACC Short ... + // Resolve Guard Attacks ... || // - // Check Conditions if Price is Over Signal ... ( // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && ( // - // 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) - // - ) + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // Both HH and LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // ) // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( + || // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && ( // - // Next Step is to Check LL and HH Same Style ... + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // LL Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + ( // - || + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // - // XCHMACC Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( // - || - // - // 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) - // - ) + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + ( + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price In Signal Range ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Under Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Over Signal ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if SC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if MC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + || + // + // XCHMACC Short ... + // Resolve Guard Attacks ... + // not LL and HH Same In Length ... + // Price Free ... + // Check if LC Fast Under Slow But Trends Down ... + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + false + // + ) + // + ) + // + ) + // + ) + // + ) // ) // @@ -5216,279 +40203,7 @@ bool XGPUS5XCHMAMNHasLongSignal() // && // - // 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) - // - ) - // - ) - // - ) - // - ) - // - ) + false // ; @@ -5524,279 +40239,7 @@ bool XGPUS5XCHMAMNHasShortSignal() // && // - // 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) - // - ) - // - ) - // - ) - // - ) - // - ) + false // ; @@ -5832,279 +40275,7 @@ bool XGPUS5XCHMAMXHasLongSignal() // && // - // 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) - // - ) - // - ) - // - ) - // - ) - // - ) + false // ; @@ -6140,279 +40311,7 @@ bool XGPUS5XCHMAMXHasShortSignal() // && // - // 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) - // - ) - // - ) - // - ) - // - ) - // - ) + false // ; diff --git a/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 b/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 index 3d5c3c1a..56f3a414 100644 --- a/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 +++ b/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 @@ -36,21 +36,21 @@ input bool xGPUS5EnableProvider = true; // Enable Provider input int xGPUS5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick // // Alerts ... -input bool xGPUS5EnableAlerts = true; // Enable Events Alert -input bool xGPUS5EnableHourlyAlerts = false; // Send Alert on each new Hour -input bool xGPUS5EnableDailyAlerts = false; // Send Alert on each new Day -input bool xGPUS5EnableWeeklyAlerts = false; // Send Alert on each new Week -input bool xGPUS5EnableMonthlyAlerts = true; // Send Alert on each new Month +input bool xGPUS5EnableAlerts = true; // Enable Events Alert +input bool xGPUS5EnableHourlyAlerts = false; // Send Alert on each new Hour +input bool xGPUS5EnableDailyAlerts = false; // Send Alert on each new Day +input bool xGPUS5EnableWeeklyAlerts = false; // Send Alert on each new Week +input bool xGPUS5EnableMonthlyAlerts = false; // Send Alert on each new Month // // Reports ... -input bool xGPUS5EnableDailyReports = false; // Send Report on each new Day -input bool xGPUS5EnableWeeklyReports = false; // Send Report on each new Week -input bool xGPUS5EnableMonthlyReports = true; // Send Report on each new Month +input bool xGPUS5EnableDailyReports = false; // Send Report on each new Day +input bool xGPUS5EnableWeeklyReports = false; // Send Report on each new Week +input bool xGPUS5EnableMonthlyReports = false; // Send Report on each new Month // // Trader and Expert Specific Configurations ... input group "XGPUS5 Trader"; -input int xGPUS5MagicNumber = 16940561; // Trader MagicNumber +input int xGPUS5MagicNumber = 16940563; // Trader MagicNumber input int xGPUS5Slippage = 10; // Trader Slippage // @@ -63,18 +63,16 @@ input bool xGPUS5AllowShortTrades = true; // Allow Short Trades // Risk Management Configurations ... input group "XGPUS5 Risk Management"; // -input bool xGPUS5UseVirtualTPSl = false; // Use Virtual TP SL -// // Trade Count ... input int xGPUS5MaxAllowedTrades = 10; // Max Allowed Trades at Same Time input ENUM_X_CROSS_SIGNAL_METHOD xGPUS5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method // // Max Allowed Trade Age ... -input int xGPUS5MaxAllowedTradeAge = 2000; // Detect Long Time Trades +input int xGPUS5MaxAllowedTradeAge = 300; // Detect Long Time Trades input ENUM_X_GUARD_ACTIONS xGPUS5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades // // Trade Volume Specific Configurations ... -input double xGPUS5StaticVolumeFactor = 0.0002; // Static Volume baesd on Balance +input double xGPUS5StaticVolumeFactor = 0.0004; // Static Volume baesd on Balance input ENUM_STATIC_VOLUME_METHODS xGPUS5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume input double xGPUS5VolumeMultiplier = 0; // Volume Increase Multiplier input double xGPUS5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance @@ -82,22 +80,27 @@ input double xGPUS5MaxSupportedVolumePerTradeFactor = 0; input double xGPUS5IncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance // // Trade Profits ... -input double xGPUS5MinRewardInPips = 150; // Minimum Reward Per Trade in Pips -input double xGPUS5RiskFreeStepInPips = 60; // Make Trades Risk Free Steps in Pips -input double xGPUS5RiskFreeRate = 0.6; // Volume Multiplier for Risk Free Trades +input double xGPUS5MinRewardInPips = 60; // Minimum Reward Per Trade in Pips +input double xGPUS5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips +input double xGPUS5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades // // Guard Riskable Money and Profits ... -input double xGPUS5CriticalDrawDownFactor = 0.43; // Critical Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xGPUS5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Critical Drawdown -input double xGPUS5MaxAllowedDrawDownFactor = 0.45; // Max Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xGPUS5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_10; // Specify Guard Action on Max Allowed Drawdown -input int xGPUS5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched +input double xGPUS5CriticalDrawDownFactor = 0.10; // Critical Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xGPUS5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown +input double xGPUS5MaxAllowedDrawDownFactor = 0.15; // Max Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xGPUS5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown +input int xGPUS5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched // // Account Conditions for Trading ... input double xGPUS5BalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades input double xGPUS5FreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades +// +// May be Used Later as Input Params ... +bool xGPUS5UseVirtualTPSl = false; // Use Virtual TP SL +bool xGPUS5EnableSignalAlerts = false; // Send Signal Alert + // // Validate Inputs before Initialization ... bool XGPUS5ValidateInputs() @@ -209,7 +212,7 @@ bool XGPUS5ValidateInputs() // result = xGPUS5CriticalDrawDownFactor == 0 || (xGPUS5CriticalDrawDownFactor > 0 && - xGPUS5CriticalDrawDownFactor < 1); + xGPUS5CriticalDrawDownFactor < 1); if (!result) { // @@ -222,7 +225,7 @@ bool XGPUS5ValidateInputs() // result = xGPUS5MaxAllowedDrawDownFactor == 0 || (xGPUS5MaxAllowedDrawDownFactor > 0 && - xGPUS5MaxAllowedDrawDownFactor < 1); + xGPUS5MaxAllowedDrawDownFactor < 1); if (!result) { // diff --git a/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.lib.mq5 b/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.lib.mq5 index ba3c21e1..6ba9fe2a 100644 --- a/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.lib.mq5 +++ b/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.lib.mq5 @@ -513,6 +513,9 @@ void XGPUS5HandleOpenTrades() // Update Reports ... XGPUS5UpdateReports(); + // + xGPUS5WaitUntilNextCandle = true; + // // Open Long Trades ... if ( diff --git a/BKP/Main/Providers/x-saherelm.xtest.provider.indicators.lib.mq5 b/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 similarity index 98% rename from BKP/Main/Providers/x-saherelm.xtest.provider.indicators.lib.mq5 rename to Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 index bebc659b..5d1edf1f 100644 --- a/BKP/Main/Providers/x-saherelm.xtest.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5 @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////// // -// SaherElm IT Center MQL5 XTEST Signal Provider Indicators Library +// SaherElm IT Center MQL5 XGPUS5 Signal Provider Indicators Library // ---------------------------------------------------------------- // // Maintainer: @@ -18,7 +18,7 @@ // // Include Provider Inputs ... -#include "x-saherelm.xtest.provider.inputs.lib.mq5" +#include "x-saherelm.xgpus5.provider.inputs.lib.mq5" // // Include Provider Class ... @@ -26,136 +26,136 @@ // // Signallers ... -input group "XTEST Signallers"; +input group "XGPUS5 Signallers"; // // XTD ... -input group "XTEST XTD Signaller"; -input bool xTESTXTDEnableSignaller = true; // Enable Signaller -input bool xTESTXTDAllowLongSignals = true; // Enable Long Signals -input bool xTESTXTDAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XTD Signaller"; +input bool xGPUS5XTDEnableSignaller = true; // Enable Signaller +input bool xGPUS5XTDAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XTDAllowShortSignals = true; // Enable Short Signals // // XTAM ... -input group "XTEST XTAM Signaller"; -input bool xTESTXTAMEnableSignaller = true; // Enable Signaller -input bool xTESTXTAMAllowLongSignals = true; // Enable Long Signals -input bool xTESTXTAMAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XTAM Signaller"; +input bool xGPUS5XTAMEnableSignaller = true; // Enable Signaller +input bool xGPUS5XTAMAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XTAMAllowShortSignals = true; // Enable Short Signals // // XSI ... -input group "XTEST XSI Signaller"; -input bool xTESTXSIEnableSignaller = true; // Enable Signaller -input bool xTESTXSIAllowLongSignals = true; // Enable Long Signals -input bool xTESTXSIAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XSI Signaller"; +input bool xGPUS5XSIEnableSignaller = true; // Enable Signaller +input bool xGPUS5XSIAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XSIAllowShortSignals = true; // Enable Short Signals // // XTSFI ... -input group "XTEST XTSFI Signaller"; -input bool xTESTXTSFIEnableSignaller = true; // Enable Signaller -input bool xTESTXTSFIAllowLongSignals = true; // Enable Long Signals -input bool xTESTXTSFIAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XTSFI Signaller"; +input bool xGPUS5XTSFIEnableSignaller = true; // Enable Signaller +input bool xGPUS5XTSFIAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XTSFIAllowShortSignals = true; // Enable Short Signals // // XOBDLH ... -// input group "XTEST XOBDLH Signaller"; -// input bool xTESTXOBDLHEnableSignaller = true; // Enable Signaller -// input bool xTESTXOBDLHAllowLongSignals = true; // Enable Long Signals -// input bool xTESTXOBDLHAllowShortSignals = true; // Enable Short Signals +// input group "XGPUS5 XOBDLH Signaller"; +// input bool xGPUS5XOBDLHEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XOBDLHAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XOBDLHAllowShortSignals = true; // Enable Short Signals // // XCHMACC ... -input group "XTEST XCHMACC Signaller"; -input bool xTESTXCHMACCEnableSignaller = true; // Enable Signaller -input bool xTESTXCHMACCAllowLongSignals = true; // Enable Long Signals -input bool xTESTXCHMACCAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XCHMACC Signaller"; +input bool xGPUS5XCHMACCEnableSignaller = true; // Enable Signaller +input bool xGPUS5XCHMACCAllowLongSignals = true; // Enable Long Signals +input bool xGPUS5XCHMACCAllowShortSignals = true; // Enable Short Signals // // XCHMAMX ... -// input group "XTEST XCHMAMX Signaller"; -// input bool xTESTXCHMAMXEnableSignaller = true; // Enable Signaller -// input bool xTESTXCHMAMXAllowLongSignals = true; // Enable Long Signals -// input bool xTESTXCHMAMXAllowShortSignals = true; // Enable Short Signals +// input group "XGPUS5 XCHMAMX Signaller"; +// input bool xGPUS5XCHMAMXEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals // // XCHMAMN ... -input group "XTEST XCHMAMN Signaller"; -// input bool xTESTXCHMAMNEnableSignaller = true; // Enable Signaller -// input bool xTESTXCHMAMNAllowLongSignals = true; // Enable Long Signals -// input bool xTESTXCHMAMNAllowShortSignals = true; // Enable Short Signals +input group "XGPUS5 XCHMAMN Signaller"; +// input bool xGPUS5XCHMAMNEnableSignaller = true; // Enable Signaller +// input bool xGPUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals +// input bool xGPUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals // // Check in Test Mode or not ... -bool xTESTIsTestMode = false; +bool xGPUS5IsTestMode = false; // // Detect max Input Length of Indicators ... -int xTESTMaxLengthOfInputs = 0; +int xGPUS5MaxLengthOfInputs = 0; // // Detect Calculated Bars ... -int xTESTCalculatedBars = 0; +int xGPUS5CalculatedBars = 0; // // Check prevent Double Signalling on Same Candle ... -bool xTESTWaitUntilNextCandle = false; +bool xGPUS5WaitUntilNextCandle = false; // // Signaller Variables ... // // XTD ... -bool xTESTMXTDEnableSignaller = xTESTXTDEnableSignaller; -bool xTESTMXTDAllowLongSignals = xTESTXTDAllowLongSignals; -bool xTESTMXTDAllowShortSignals = xTESTXTDAllowShortSignals; +bool xGPUS5MXTDEnableSignaller = xGPUS5XTDEnableSignaller; +bool xGPUS5MXTDAllowLongSignals = xGPUS5XTDAllowLongSignals; +bool xGPUS5MXTDAllowShortSignals = xGPUS5XTDAllowShortSignals; // // XTAM ... -bool xTESTMXTAMEnableSignaller = xTESTXTAMEnableSignaller; -bool xTESTMXTAMAllowLongSignals = xTESTXTAMAllowLongSignals; -bool xTESTMXTAMAllowShortSignals = xTESTXTAMAllowShortSignals; +bool xGPUS5MXTAMEnableSignaller = xGPUS5XTAMEnableSignaller; +bool xGPUS5MXTAMAllowLongSignals = xGPUS5XTAMAllowLongSignals; +bool xGPUS5MXTAMAllowShortSignals = xGPUS5XTAMAllowShortSignals; // // XSI ... -bool xTESTMXSIEnableSignaller = xTESTXSIEnableSignaller; -bool xTESTMXSIAllowLongSignals = xTESTXSIAllowLongSignals; -bool xTESTMXSIAllowShortSignals = xTESTXSIAllowShortSignals; +bool xGPUS5MXSIEnableSignaller = xGPUS5XSIEnableSignaller; +bool xGPUS5MXSIAllowLongSignals = xGPUS5XSIAllowLongSignals; +bool xGPUS5MXSIAllowShortSignals = xGPUS5XSIAllowShortSignals; // // XTSFI ... -bool xTESTMXTSFIEnableSignaller = xTESTXTSFIEnableSignaller; -bool xTESTMXTSFIAllowLongSignals = xTESTXTSFIAllowLongSignals; -bool xTESTMXTSFIAllowShortSignals = xTESTXTSFIAllowShortSignals; +bool xGPUS5MXTSFIEnableSignaller = xGPUS5XTSFIEnableSignaller; +bool xGPUS5MXTSFIAllowLongSignals = xGPUS5XTSFIAllowLongSignals; +bool xGPUS5MXTSFIAllowShortSignals = xGPUS5XTSFIAllowShortSignals; // // XOBDLH ... -bool xTESTMXOBDLHEnableSignaller = false; // xTESTXOBDLHEnableSignaller; -bool xTESTMXOBDLHAllowLongSignals = false; // xTESTXOBDLHAllowLongSignals; -bool xTESTMXOBDLHAllowShortSignals = false; // xTESTXOBDLHAllowShortSignals; +bool xGPUS5MXOBDLHEnableSignaller = false; // xGPUS5XOBDLHEnableSignaller; +bool xGPUS5MXOBDLHAllowLongSignals = false; // xGPUS5XOBDLHAllowLongSignals; +bool xGPUS5MXOBDLHAllowShortSignals = false; // xGPUS5XOBDLHAllowShortSignals; // // XCHMACC ... -bool xTESTMXCHMACCEnableSignaller = xTESTXCHMACCEnableSignaller; -bool xTESTMXCHMACCAllowLongSignals = xTESTXCHMACCAllowLongSignals; -bool xTESTMXCHMACCAllowShortSignals = xTESTXCHMACCAllowShortSignals; +bool xGPUS5MXCHMACCEnableSignaller = xGPUS5XCHMACCEnableSignaller; +bool xGPUS5MXCHMACCAllowLongSignals = xGPUS5XCHMACCAllowLongSignals; +bool xGPUS5MXCHMACCAllowShortSignals = xGPUS5XCHMACCAllowShortSignals; // // XCHMAMX ... -bool xTESTMXCHMAMXEnableSignaller = false; // xTESTXCHMAMXEnableSignaller; -bool xTESTMXCHMAMXAllowLongSignals = false; // xTESTXCHMAMXAllowLongSignals; -bool xTESTMXCHMAMXAllowShortSignals = false; // xTESTXCHMAMXAllowShortSignals; +bool xGPUS5MXCHMAMXEnableSignaller = false; // xGPUS5XCHMAMXEnableSignaller; +bool xGPUS5MXCHMAMXAllowLongSignals = false; // xGPUS5XCHMAMXAllowLongSignals; +bool xGPUS5MXCHMAMXAllowShortSignals = false; // xGPUS5XCHMAMXAllowShortSignals; // // XCHMAMN ... -bool xTESTMXCHMAMNEnableSignaller = false; // xTESTXCHMAMNEnableSignaller; -bool xTESTMXCHMAMNAllowLongSignals = false; // xTESTXCHMAMNAllowLongSignals; -bool xTESTMXCHMAMNAllowShortSignals = false; // xTESTXCHMAMNAllowShortSignals; +bool xGPUS5MXCHMAMNEnableSignaller = false; // xGPUS5XCHMAMNEnableSignaller; +bool xGPUS5MXCHMAMNAllowLongSignals = false; // xGPUS5XCHMAMNAllowLongSignals; +bool xGPUS5MXCHMAMNAllowShortSignals = false; // xGPUS5XCHMAMNAllowShortSignals; // -XCProvider *xTESTProvider; +XCProvider *xGPUS5Provider; // // Validate Indicators Inputs ... -bool XTESTValidateIndicatorsInputs() +bool XGPUS5ValidateIndicatorsInputs() { // bool result = false; @@ -242,7 +242,7 @@ bool XTESTValidateIndicatorsInputs() // // Make an Instance Of XCProvider Class for Use ... - xTESTProvider = new XCProvider( + xGPUS5Provider = new XCProvider( // // Commons ... _Symbol, @@ -251,44 +251,44 @@ bool XTESTValidateIndicatorsInputs() // Signallers ... // // XTD ... - xTESTMXTDEnableSignaller, - xTESTMXTDAllowLongSignals, - xTESTMXTDAllowShortSignals, + xGPUS5MXTDEnableSignaller, + xGPUS5MXTDAllowLongSignals, + xGPUS5MXTDAllowShortSignals, // // XTAM ... - xTESTMXTAMEnableSignaller, - xTESTMXTAMAllowLongSignals, - xTESTMXTAMAllowShortSignals, + xGPUS5MXTAMEnableSignaller, + xGPUS5MXTAMAllowLongSignals, + xGPUS5MXTAMAllowShortSignals, // // XSI ... - xTESTMXSIEnableSignaller, - xTESTMXSIAllowLongSignals, - xTESTMXSIAllowShortSignals, + xGPUS5MXSIEnableSignaller, + xGPUS5MXSIAllowLongSignals, + xGPUS5MXSIAllowShortSignals, // // XTSFI ... - xTESTMXTSFIEnableSignaller, - xTESTMXTSFIAllowLongSignals, - xTESTMXTSFIAllowShortSignals, + xGPUS5MXTSFIEnableSignaller, + xGPUS5MXTSFIAllowLongSignals, + xGPUS5MXTSFIAllowShortSignals, // // XOBDLH ... - xTESTMXOBDLHEnableSignaller, - xTESTMXOBDLHAllowLongSignals, - xTESTMXOBDLHAllowShortSignals, + xGPUS5MXOBDLHEnableSignaller, + xGPUS5MXOBDLHAllowLongSignals, + xGPUS5MXOBDLHAllowShortSignals, // // XCHMACC ... - xTESTMXCHMACCEnableSignaller, - xTESTMXCHMACCAllowLongSignals, - xTESTMXCHMACCAllowShortSignals, + xGPUS5MXCHMACCEnableSignaller, + xGPUS5MXCHMACCAllowLongSignals, + xGPUS5MXCHMACCAllowShortSignals, // // XCHMAMX ... - xTESTMXCHMAMXEnableSignaller, - xTESTMXCHMAMXAllowLongSignals, - xTESTMXCHMAMXAllowShortSignals, + xGPUS5MXCHMAMXEnableSignaller, + xGPUS5MXCHMAMXAllowLongSignals, + xGPUS5MXCHMAMXAllowShortSignals, // // XCHMAMN ... - xTESTMXCHMAMNEnableSignaller, - xTESTMXCHMAMNAllowLongSignals, - xTESTMXCHMAMNAllowShortSignals + xGPUS5MXCHMAMNEnableSignaller, + xGPUS5MXCHMAMNAllowLongSignals, + xGPUS5MXCHMAMNAllowShortSignals // ); @@ -301,14 +301,14 @@ bool XTESTValidateIndicatorsInputs() // // Init Indicators ... -bool XTESTInitIndicators() +bool XGPUS5InitIndicators() { // bool result = false; // // Make it Enable when we need to Log Market Conditions ... - xTESTIsTestMode = IsRunningOnTestMode(); + xGPUS5IsTestMode = IsRunningOnTestMode(); // // Check and Calculate Max Length in Inputs ... @@ -316,88 +316,88 @@ bool XTESTInitIndicators() // // XTM ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xTMMaPeriod, - xTESTNumberOfItemsPerTick); + xGPUS5NumberOfItemsPerTick); // // XAMA ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xAMALength, - xTESTNumberOfItemsPerTick); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5NumberOfItemsPerTick); + xGPUS5MaxLengthOfInputs = MathMax( xAMAFastEMA, - xTESTNumberOfItemsPerTick); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5NumberOfItemsPerTick); + xGPUS5MaxLengthOfInputs = MathMax( xAMASlowEMA, - xTESTNumberOfItemsPerTick); + xGPUS5NumberOfItemsPerTick); // // XLH ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xLHLength, - xTESTNumberOfItemsPerTick); + xGPUS5NumberOfItemsPerTick); // // XTD ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xTDLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XFI ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xFILength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XRSI ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xRSILength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XOBD ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xOBDLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XCHLH ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xCHLHLcLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHLHMcLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHLHScLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // XCHMA ... - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs = MathMax( xCHMAScFastLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMAScSlowLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMAMcFastLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMAMcSlowLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMALcFastLength, - xTESTMaxLengthOfInputs); - xTESTMaxLengthOfInputs = MathMax( + xGPUS5MaxLengthOfInputs); + xGPUS5MaxLengthOfInputs = MathMax( xCHMALcSlowLength, - xTESTMaxLengthOfInputs); + xGPUS5MaxLengthOfInputs); // // Validate Indicators Inputs before Initialization ... - result = XTESTValidateIndicatorsInputs(); + result = XGPUS5ValidateIndicatorsInputs(); if (!result) { return result; @@ -409,58 +409,58 @@ bool XTESTInitIndicators() // // XTD ... bool isXTDEnable = - xTESTXTDEnableSignaller && - (xTESTXTDAllowLongSignals || - xTESTXTDAllowShortSignals); + xGPUS5XTDEnableSignaller && + (xGPUS5XTDAllowLongSignals || + xGPUS5XTDAllowShortSignals); // // XTAM ... bool isXTAMEnable = - xTESTXTAMEnableSignaller && - (xTESTXTAMAllowLongSignals || - xTESTXTAMAllowShortSignals); + xGPUS5XTAMEnableSignaller && + (xGPUS5XTAMAllowLongSignals || + xGPUS5XTAMAllowShortSignals); // // XSI ... bool isXSIEnable = - xTESTXSIEnableSignaller && - (xTESTXSIAllowLongSignals || - xTESTXSIAllowShortSignals); + xGPUS5XSIEnableSignaller && + (xGPUS5XSIAllowLongSignals || + xGPUS5XSIAllowShortSignals); // // XTSFI ... bool isXTSFIEnable = - xTESTXTSFIEnableSignaller && - (xTESTXTSFIAllowLongSignals || - xTESTXTSFIAllowShortSignals); + xGPUS5XTSFIEnableSignaller && + (xGPUS5XTSFIAllowLongSignals || + xGPUS5XTSFIAllowShortSignals); // // XOBDLH ... bool isXOBDLHEnable = false; - // xTESTXOBDLHEnableSignaller && - // (xTESTXOBDLHAllowLongSignals || - // xTESTXOBDLHAllowShortSignals); + // xGPUS5XOBDLHEnableSignaller && + // (xGPUS5XOBDLHAllowLongSignals || + // xGPUS5XOBDLHAllowShortSignals); // // XCHMACC ... bool isXCHMACCEnable = - xTESTXCHMACCEnableSignaller && - (xTESTXCHMACCAllowLongSignals || - xTESTXCHMACCAllowShortSignals); + xGPUS5XCHMACCEnableSignaller && + (xGPUS5XCHMACCAllowLongSignals || + xGPUS5XCHMACCAllowShortSignals); // // XCHMAMX ... bool isXCHMAMXEnable = false; - // xTESTXCHMAMXEnableSignaller && - // (xTESTXCHMAMXAllowLongSignals || - // xTESTXCHMAMXAllowShortSignals); + // xGPUS5XCHMAMXEnableSignaller && + // (xGPUS5XCHMAMXAllowLongSignals || + // xGPUS5XCHMAMXAllowShortSignals); // // XCHMAMN ... bool isXCHMAMNEnable = false; - // xTESTXCHMAMNEnableSignaller && - // (xTESTXCHMAMNAllowLongSignals || - // xTESTXCHMAMNAllowShortSignals); + // xGPUS5XCHMAMNEnableSignaller && + // (xGPUS5XCHMAMNAllowLongSignals || + // xGPUS5XCHMAMNAllowShortSignals); // bool hasSignaller = @@ -479,7 +479,7 @@ bool XTESTInitIndicators() if (!result) { // - LogMessage("XTEST doesn't enable any Signaller ..."); + LogMessage("XGPUS5 doesn't enable any Signaller ..."); // return result; @@ -578,7 +578,7 @@ bool XTESTInitIndicators() // // Release Indicators ... -void XTESTReleaseIndicators() +void XGPUS5ReleaseIndicators() { // // Release Handlers ... @@ -596,27 +596,27 @@ void XTESTReleaseIndicators() // // Handle Reading Buffers ... -void XTESTHandleReadingBuffers() +void XGPUS5HandleReadingBuffers() { // // Reading Calculated Bars for a Simple Handler ... - xTESTCalculatedBars = BarsCalculated(xTMHandler); + xGPUS5CalculatedBars = BarsCalculated(xTMHandler); // // Read Indicators Buffers ... - XTMReadBuffers(xTESTNumberOfItemsPerTick); - XAMAReadBuffers(xTESTNumberOfItemsPerTick); - XLHReadBuffers(xTESTNumberOfItemsPerTick); - XTDReadBuffers(xTESTNumberOfItemsPerTick); - XFIReadBuffers(xTESTNumberOfItemsPerTick); - XTSReadBuffers(xTESTNumberOfItemsPerTick); - XRSIReadBuffers(xTESTNumberOfItemsPerTick); - XOBDReadBuffers(xTESTNumberOfItemsPerTick); - XCHMAReadBuffers(xTESTNumberOfItemsPerTick); - XCHLHReadBuffers(xTESTNumberOfItemsPerTick); + XTMReadBuffers(xGPUS5NumberOfItemsPerTick); + XAMAReadBuffers(xGPUS5NumberOfItemsPerTick); + XLHReadBuffers(xGPUS5NumberOfItemsPerTick); + XTDReadBuffers(xGPUS5NumberOfItemsPerTick); + XFIReadBuffers(xGPUS5NumberOfItemsPerTick); + XTSReadBuffers(xGPUS5NumberOfItemsPerTick); + XRSIReadBuffers(xGPUS5NumberOfItemsPerTick); + XOBDReadBuffers(xGPUS5NumberOfItemsPerTick); + XCHMAReadBuffers(xGPUS5NumberOfItemsPerTick); + XCHLHReadBuffers(xGPUS5NumberOfItemsPerTick); // - xTESTProvider.ReadConditions(); + xGPUS5Provider.ReadConditions(); } // @@ -629,7 +629,7 @@ void XTESTHandleReadingBuffers() // Can Open Long Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Long Signals ... -bool XTESTCanOpenLongTrade( +bool XGPUS5CanOpenLongTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -644,7 +644,7 @@ bool XTESTCanOpenLongTrade( 0); // - bool hasSignal = XTESTHasLongSignal(info); + bool hasSignal = XGPUS5HasLongSignal(info); // result = @@ -656,7 +656,7 @@ bool XTESTCanOpenLongTrade( // if (result) { - xTESTProvider.ClearConditions(); + xGPUS5Provider.ClearConditions(); } // @@ -667,7 +667,7 @@ bool XTESTCanOpenLongTrade( // Can Close Long Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Long Signals ... -bool XTESTCanCloseLongTrade() +bool XGPUS5CanCloseLongTrade() { // bool result = false; @@ -680,7 +680,7 @@ bool XTESTCanCloseLongTrade() // Can Open Short Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Short Signals ... -bool XTESTCanOpenShortTrade( +bool XGPUS5CanOpenShortTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -695,7 +695,7 @@ bool XTESTCanOpenShortTrade( 0); // - bool hasSignal = XTESTHasShortSignal(info); + bool hasSignal = XGPUS5HasShortSignal(info); // result = @@ -707,7 +707,7 @@ bool XTESTCanOpenShortTrade( // if (result) { - xTESTProvider.ClearConditions(); + xGPUS5Provider.ClearConditions(); } // @@ -718,7 +718,7 @@ bool XTESTCanOpenShortTrade( // Can Close Short Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Short Signals ... -bool XTESTCanCloseShortTrade() +bool XGPUS5CanCloseShortTrade() { // bool result = false; @@ -741,7 +741,7 @@ bool XTESTCanCloseShortTrade() // // Check Market Conditions by Combination of Power of All tools for LONGs ... -bool XTESTHasLongSignal( +bool XGPUS5HasLongSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -750,7 +750,7 @@ bool XTESTHasLongSignal( // // XTD ... - bool isXTDHasSignal = XTESTXTDHasLongSignal(); + bool isXTDHasSignal = XGPUS5XTDHasLongSignal(); if (isXTDHasSignal) { // @@ -761,7 +761,7 @@ bool XTESTHasLongSignal( // // XTAM ... - bool isXTAMHasSignal = XTESTXTAMHasLongSignal(); + bool isXTAMHasSignal = XGPUS5XTAMHasLongSignal(); if (isXTAMHasSignal) { // @@ -772,7 +772,7 @@ bool XTESTHasLongSignal( // // XSI ... - bool isXSIHasSignal = XTESTXSIHasLongSignal(); + bool isXSIHasSignal = XGPUS5XSIHasLongSignal(); if (isXSIHasSignal) { // @@ -783,7 +783,7 @@ bool XTESTHasLongSignal( // // XTSFI ... - bool isXTSFIHasSignal = XTESTXTSFIHasLongSignal(); + bool isXTSFIHasSignal = XGPUS5XTSFIHasLongSignal(); if (isXTSFIHasSignal) { // @@ -794,7 +794,7 @@ bool XTESTHasLongSignal( // // XOBD XLH ... - bool isXOBDLHHasSignal = XTESTXOBDLHHasLongSignal(); + bool isXOBDLHHasSignal = XGPUS5XOBDLHHasLongSignal(); if (isXOBDLHHasSignal) { // @@ -805,7 +805,7 @@ bool XTESTHasLongSignal( // // XCHMA Cycles Cross ... - bool isXCHMACCHasSignal = XTESTXCHMACCHasLongSignal(); + bool isXCHMACCHasSignal = XGPUS5XCHMACCHasLongSignal(); if (isXCHMACCHasSignal) { // @@ -816,7 +816,7 @@ bool XTESTHasLongSignal( // // XCHMA Cycles Min ... - bool isXCHMAMNHasSignal = XTESTXCHMAMNHasLongSignal(); + bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasLongSignal(); if (isXCHMAMNHasSignal) { // @@ -827,7 +827,7 @@ bool XTESTHasLongSignal( // // XCHMA Cycles Max - bool isXCHMAMXHasSignal = XTESTXCHMAMXHasLongSignal(); + bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasLongSignal(); if (isXCHMAMXHasSignal) { // @@ -876,11 +876,11 @@ bool XTESTHasLongSignal( { // // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xTESTIsTestMode || xTESTEnableSignalAlerts) + if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); - string message = xTESTProvider.GenerateConditionsString(mConditions); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); + string message = xGPUS5Provider.GenerateConditionsString(mConditions); // LogMessage( @@ -897,7 +897,7 @@ bool XTESTHasLongSignal( // // Check Market Conditions by Combination of Power of All tools for SHORTs ... -bool XTESTHasShortSignal( +bool XGPUS5HasShortSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -906,7 +906,7 @@ bool XTESTHasShortSignal( // // XTD ... - bool isXTDHasSignal = XTESTXTDHasShortSignal(); + bool isXTDHasSignal = XGPUS5XTDHasShortSignal(); if (isXTDHasSignal) { // @@ -917,7 +917,7 @@ bool XTESTHasShortSignal( // // XTAM ... - bool isXTAMHasSignal = XTESTXTAMHasShortSignal(); + bool isXTAMHasSignal = XGPUS5XTAMHasShortSignal(); if (isXTAMHasSignal) { // @@ -928,7 +928,7 @@ bool XTESTHasShortSignal( // // XSI ... - bool isXSIHasSignal = XTESTXSIHasShortSignal(); + bool isXSIHasSignal = XGPUS5XSIHasShortSignal(); if (isXSIHasSignal) { // @@ -939,7 +939,7 @@ bool XTESTHasShortSignal( // // XTSFI ... - bool isXTSFIHasSignal = XTESTXTSFIHasShortSignal(); + bool isXTSFIHasSignal = XGPUS5XTSFIHasShortSignal(); if (isXTSFIHasSignal) { // @@ -950,7 +950,7 @@ bool XTESTHasShortSignal( // // XOBD XLH ... - bool isXOBDLHHasSignal = XTESTXOBDLHHasShortSignal(); + bool isXOBDLHHasSignal = XGPUS5XOBDLHHasShortSignal(); if (isXOBDLHHasSignal) { // @@ -961,7 +961,7 @@ bool XTESTHasShortSignal( // // XCHMA Cycles Cross ... - bool isXCHMACCHasSignal = XTESTXCHMACCHasShortSignal(); + bool isXCHMACCHasSignal = XGPUS5XCHMACCHasShortSignal(); if (isXCHMACCHasSignal) { // @@ -972,7 +972,7 @@ bool XTESTHasShortSignal( // // XCHMA Cycles Min ... - bool isXCHMAMNHasSignal = XTESTXCHMAMNHasShortSignal(); + bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasShortSignal(); if (isXCHMAMNHasSignal) { // @@ -983,7 +983,7 @@ bool XTESTHasShortSignal( // // XCHMA Cycles Max - bool isXCHMAMXHasSignal = XTESTXCHMAMXHasShortSignal(); + bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasShortSignal(); if (isXCHMAMXHasSignal) { // @@ -1032,11 +1032,11 @@ bool XTESTHasShortSignal( { // // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xTESTIsTestMode || xTESTEnableSignalAlerts) + if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); - string message = xTESTProvider.GenerateConditionsString(mConditions); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); + string message = xGPUS5Provider.GenerateConditionsString(mConditions); // LogMessage( @@ -1063,438 +1063,438 @@ bool XTESTHasShortSignal( // // Disbale All Signallers Longs ... -void XTESTDisableLongSignallers() +void XGPUS5DisableLongSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTProvider.DisbaleXTDLongs(); - xTESTMXTDAllowLongSignals = false; + xGPUS5Provider.DisbaleXTDLongs(); + xGPUS5MXTDAllowLongSignals = false; } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTProvider.DisbaleXTAMLongs(); - xTESTMXTAMAllowLongSignals = false; + xGPUS5Provider.DisbaleXTAMLongs(); + xGPUS5MXTAMAllowLongSignals = false; } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTProvider.DisbaleXSILongs(); - xTESTMXSIAllowLongSignals = false; + xGPUS5Provider.DisbaleXSILongs(); + xGPUS5MXSIAllowLongSignals = false; } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTProvider.DisbaleXTSFILongs(); - xTESTMXTSFIAllowLongSignals = false; + xGPUS5Provider.DisbaleXTSFILongs(); + xGPUS5MXTSFIAllowLongSignals = false; } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTProvider.DisbaleXOBDLHLongs(); - // xTESTMXOBDLHAllowLongSignals = false; + // xGPUS5Provider.DisbaleXOBDLHLongs(); + // xGPUS5MXOBDLHAllowLongSignals = false; // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTProvider.DisbaleXCHMACCLongs(); - xTESTMXCHMACCAllowLongSignals = false; + xGPUS5Provider.DisbaleXCHMACCLongs(); + xGPUS5MXCHMACCAllowLongSignals = false; } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTProvider.DisbaleXCHMAMXLongs(); - // xTESTMXCHMAMXAllowLongSignals = false; + // xGPUS5Provider.DisbaleXCHMAMXLongs(); + // xGPUS5MXCHMAMXAllowLongSignals = false; // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTProvider.DisbaleXCHMAMNLongs(); - // xTESTMXCHMAMNAllowLongSignals = false; + // xGPUS5Provider.DisbaleXCHMAMNLongs(); + // xGPUS5MXCHMAMNAllowLongSignals = false; // } } // // Enable All Signallers Longs ... // Only if they are Configured as Enable at Settings ... -void XTESTEnableLongSignallers() +void XGPUS5EnableLongSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTMXTDAllowLongSignals = - xTESTXTDAllowLongSignals + xGPUS5MXTDAllowLongSignals = + xGPUS5XTDAllowLongSignals ? true - : xTESTMXTDAllowLongSignals; + : xGPUS5MXTDAllowLongSignals; // - if (xTESTMXTDAllowLongSignals) + if (xGPUS5MXTDAllowLongSignals) { - xTESTProvider.EnableXTDLongs(); + xGPUS5Provider.EnableXTDLongs(); } } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTMXTAMAllowLongSignals = - xTESTXTAMAllowLongSignals + xGPUS5MXTAMAllowLongSignals = + xGPUS5XTAMAllowLongSignals ? true - : xTESTMXTAMAllowLongSignals; + : xGPUS5MXTAMAllowLongSignals; // - if (xTESTMXTAMAllowLongSignals) + if (xGPUS5MXTAMAllowLongSignals) { - xTESTProvider.EnableXTAMLongs(); + xGPUS5Provider.EnableXTAMLongs(); } } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTMXSIAllowLongSignals = - xTESTXSIAllowLongSignals + xGPUS5MXSIAllowLongSignals = + xGPUS5XSIAllowLongSignals ? true - : xTESTMXSIAllowLongSignals; + : xGPUS5MXSIAllowLongSignals; // - if (xTESTMXSIAllowLongSignals) + if (xGPUS5MXSIAllowLongSignals) { - xTESTProvider.EnableXSILongs(); + xGPUS5Provider.EnableXSILongs(); } } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTMXTSFIAllowLongSignals = - xTESTXTSFIAllowLongSignals + xGPUS5MXTSFIAllowLongSignals = + xGPUS5XTSFIAllowLongSignals ? true - : xTESTMXTSFIAllowLongSignals; + : xGPUS5MXTSFIAllowLongSignals; // - if (xTESTMXTSFIAllowLongSignals) + if (xGPUS5MXTSFIAllowLongSignals) { - xTESTProvider.EnableXTSFILongs(); + xGPUS5Provider.EnableXTSFILongs(); } } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTMXOBDLHAllowLongSignals = - // xTESTXOBDLHAllowLongSignals + // xGPUS5MXOBDLHAllowLongSignals = + // xGPUS5XOBDLHAllowLongSignals // ? true - // : xTESTMXOBDLHAllowLongSignals; + // : xGPUS5MXOBDLHAllowLongSignals; // // - // if (xTESTMXOBDLHAllowLongSignals) + // if (xGPUS5MXOBDLHAllowLongSignals) // { - // xTESTProvider.EnableXOBDLHLongs(); + // xGPUS5Provider.EnableXOBDLHLongs(); // } // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTMXCHMACCAllowLongSignals = - xTESTXCHMACCAllowLongSignals + xGPUS5MXCHMACCAllowLongSignals = + xGPUS5XCHMACCAllowLongSignals ? true - : xTESTMXCHMACCAllowLongSignals; + : xGPUS5MXCHMACCAllowLongSignals; // - if (xTESTMXCHMACCAllowLongSignals) + if (xGPUS5MXCHMACCAllowLongSignals) { - xTESTProvider.EnableXCHMACCLongs(); + xGPUS5Provider.EnableXCHMACCLongs(); } } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTMXCHMAMXAllowLongSignals = - // xTESTXCHMAMXAllowLongSignals + // xGPUS5MXCHMAMXAllowLongSignals = + // xGPUS5XCHMAMXAllowLongSignals // ? true - // : xTESTMXCHMAMXAllowLongSignals; + // : xGPUS5MXCHMAMXAllowLongSignals; // // - // if (xTESTMXCHMAMXAllowLongSignals) + // if (xGPUS5MXCHMAMXAllowLongSignals) // { - // xTESTProvider.EnableXCHMAMXLongs(); + // xGPUS5Provider.EnableXCHMAMXLongs(); // } // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTMXCHMAMNAllowLongSignals = - // xTESTXCHMAMNAllowLongSignals + // xGPUS5MXCHMAMNAllowLongSignals = + // xGPUS5XCHMAMNAllowLongSignals // ? true - // : xTESTMXCHMAMNAllowLongSignals; + // : xGPUS5MXCHMAMNAllowLongSignals; // // - // if (xTESTMXCHMAMNAllowLongSignals) + // if (xGPUS5MXCHMAMNAllowLongSignals) // { - // xTESTProvider.EnableXCHMAMNLongs(); + // xGPUS5Provider.EnableXCHMAMNLongs(); // } // } } // // Disable All Signallers Shorts ... -void XTESTDisableShortSignallers() +void XGPUS5DisableShortSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTProvider.DisableXTDShorts(); - xTESTMXTDAllowShortSignals = false; + xGPUS5Provider.DisableXTDShorts(); + xGPUS5MXTDAllowShortSignals = false; } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTProvider.DisableXTAMShorts(); - xTESTMXTAMAllowShortSignals = false; + xGPUS5Provider.DisableXTAMShorts(); + xGPUS5MXTAMAllowShortSignals = false; } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTProvider.DisableXSIShorts(); - xTESTMXSIAllowShortSignals = false; + xGPUS5Provider.DisableXSIShorts(); + xGPUS5MXSIAllowShortSignals = false; } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTProvider.DisableXTSFIShorts(); - xTESTMXTSFIAllowShortSignals = false; + xGPUS5Provider.DisableXTSFIShorts(); + xGPUS5MXTSFIAllowShortSignals = false; } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTProvider.DisableXOBDLHShorts(); - // xTESTMXOBDLHAllowShortSignals = false; + // xGPUS5Provider.DisableXOBDLHShorts(); + // xGPUS5MXOBDLHAllowShortSignals = false; // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTProvider.DisableXCHMACCShorts(); - xTESTMXCHMACCAllowShortSignals = false; + xGPUS5Provider.DisableXCHMACCShorts(); + xGPUS5MXCHMACCAllowShortSignals = false; } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTProvider.DisableXCHMAMXShorts(); - // xTESTMXCHMAMXAllowShortSignals = false; + // xGPUS5Provider.DisableXCHMAMXShorts(); + // xGPUS5MXCHMAMXAllowShortSignals = false; // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTProvider.DisableXCHMAMNShorts(); - // xTESTMXCHMAMNAllowShortSignals = false; + // xGPUS5Provider.DisableXCHMAMNShorts(); + // xGPUS5MXCHMAMNAllowShortSignals = false; // } } // // Enable All Signallers Shorts ... // Only if they are Configured as Enable at Settings ... -void XTESTEnableShortSignallers() +void XGPUS5EnableShortSignallers() { // // XTD ... - if (xTESTMXTDEnableSignaller) + if (xGPUS5MXTDEnableSignaller) { // - xTESTMXTDAllowShortSignals = - xTESTXTDAllowShortSignals + xGPUS5MXTDAllowShortSignals = + xGPUS5XTDAllowShortSignals ? true - : xTESTMXTDAllowShortSignals; + : xGPUS5MXTDAllowShortSignals; // - if (xTESTMXTDAllowShortSignals) + if (xGPUS5MXTDAllowShortSignals) { - xTESTProvider.EnableXTDShorts(); + xGPUS5Provider.EnableXTDShorts(); } } // // XTAM ... - if (xTESTMXTAMEnableSignaller) + if (xGPUS5MXTAMEnableSignaller) { // - xTESTMXTAMAllowShortSignals = - xTESTXTAMAllowShortSignals + xGPUS5MXTAMAllowShortSignals = + xGPUS5XTAMAllowShortSignals ? true - : xTESTMXTAMAllowShortSignals; + : xGPUS5MXTAMAllowShortSignals; // - if (xTESTMXTAMAllowShortSignals) + if (xGPUS5MXTAMAllowShortSignals) { - xTESTProvider.EnableXTAMShorts(); + xGPUS5Provider.EnableXTAMShorts(); } } // // XSI ... - if (xTESTMXSIEnableSignaller) + if (xGPUS5MXSIEnableSignaller) { // - xTESTMXSIAllowShortSignals = - xTESTXSIAllowShortSignals + xGPUS5MXSIAllowShortSignals = + xGPUS5XSIAllowShortSignals ? true - : xTESTMXSIAllowShortSignals; + : xGPUS5MXSIAllowShortSignals; // - if (xTESTMXSIAllowShortSignals) + if (xGPUS5MXSIAllowShortSignals) { - xTESTProvider.EnableXSIShorts(); + xGPUS5Provider.EnableXSIShorts(); } } // // XTSFI ... - if (xTESTMXTSFIEnableSignaller) + if (xGPUS5MXTSFIEnableSignaller) { // - xTESTMXTSFIAllowShortSignals = - xTESTXTSFIAllowShortSignals + xGPUS5MXTSFIAllowShortSignals = + xGPUS5XTSFIAllowShortSignals ? true - : xTESTMXTSFIAllowShortSignals; + : xGPUS5MXTSFIAllowShortSignals; // - if (xTESTMXTSFIAllowShortSignals) + if (xGPUS5MXTSFIAllowShortSignals) { - xTESTProvider.EnableXTSFIShorts(); + xGPUS5Provider.EnableXTSFIShorts(); } } // // XOBDLH ... - // if (xTESTMXOBDLHEnableSignaller) + // if (xGPUS5MXOBDLHEnableSignaller) // { // // - // xTESTMXOBDLHAllowShortSignals = - // xTESTXOBDLHAllowShortSignals + // xGPUS5MXOBDLHAllowShortSignals = + // xGPUS5XOBDLHAllowShortSignals // ? true - // : xTESTMXOBDLHAllowShortSignals; + // : xGPUS5MXOBDLHAllowShortSignals; // // - // if (xTESTMXOBDLHAllowShortSignals) + // if (xGPUS5MXOBDLHAllowShortSignals) // { - // xTESTProvider.EnableXOBDLHShorts(); + // xGPUS5Provider.EnableXOBDLHShorts(); // } // } // // XCHMACC ... - if (xTESTMXCHMACCEnableSignaller) + if (xGPUS5MXCHMACCEnableSignaller) { // - xTESTMXCHMACCAllowShortSignals = - xTESTXCHMACCAllowShortSignals + xGPUS5MXCHMACCAllowShortSignals = + xGPUS5XCHMACCAllowShortSignals ? true - : xTESTMXCHMACCAllowShortSignals; + : xGPUS5MXCHMACCAllowShortSignals; // - if (xTESTMXCHMACCAllowShortSignals) + if (xGPUS5MXCHMACCAllowShortSignals) { - xTESTProvider.EnableXCHMACCShorts(); + xGPUS5Provider.EnableXCHMACCShorts(); } } // // XCHMAMX ... - // if (xTESTMXCHMAMXEnableSignaller) + // if (xGPUS5MXCHMAMXEnableSignaller) // { // // - // xTESTMXCHMAMXAllowShortSignals = - // xTESTXCHMAMXAllowShortSignals + // xGPUS5MXCHMAMXAllowShortSignals = + // xGPUS5XCHMAMXAllowShortSignals // ? true - // : xTESTMXCHMAMXAllowShortSignals; + // : xGPUS5MXCHMAMXAllowShortSignals; // // - // if (xTESTMXCHMAMXAllowShortSignals) + // if (xGPUS5MXCHMAMXAllowShortSignals) // { - // xTESTProvider.EnableXCHMAMXShorts(); + // xGPUS5Provider.EnableXCHMAMXShorts(); // } // } // // XCHMAMN ... - // if (xTESTMXCHMAMNEnableSignaller) + // if (xGPUS5MXCHMAMNEnableSignaller) // { // // - // xTESTMXCHMAMNAllowShortSignals = - // xTESTXCHMAMNAllowShortSignals + // xGPUS5MXCHMAMNAllowShortSignals = + // xGPUS5XCHMAMNAllowShortSignals // ? true - // : xTESTMXCHMAMNAllowShortSignals; + // : xGPUS5MXCHMAMNAllowShortSignals; // // - // if (xTESTMXCHMAMNAllowShortSignals) + // if (xGPUS5MXCHMAMNAllowShortSignals) // { - // xTESTProvider.EnableXCHMAMNShorts(); + // xGPUS5Provider.EnableXCHMAMNShorts(); // } // } } @@ -1505,29 +1505,29 @@ void XTESTEnableShortSignallers() // // XTD Long Signal Checking ... -bool XTESTXTDHasLongSignal() +bool XGPUS5XTDHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTDEnableSignaller || - !xTESTMXTDAllowLongSignals) + if (!xGPUS5MXTDEnableSignaller || + !xGPUS5MXTDAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTDHasLongConditions() + xGPUS5Provider.XTDHasLongConditions() // && // @@ -5365,29 +5365,29 @@ bool XTESTXTDHasLongSignal() // // XTD Short Signal Checking ... -bool XTESTXTDHasShortSignal() +bool XGPUS5XTDHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTDEnableSignaller || - !xTESTMXTDAllowShortSignals) + if (!xGPUS5MXTDEnableSignaller || + !xGPUS5MXTDAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTDHasShortConditions() + xGPUS5Provider.XTDHasShortConditions() // && // @@ -9225,29 +9225,29 @@ bool XTESTXTDHasShortSignal() // // XTAM Long Signal Checking ... -bool XTESTXTAMHasLongSignal() +bool XGPUS5XTAMHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTAMEnableSignaller || - !xTESTMXTAMAllowLongSignals) + if (!xGPUS5MXTAMEnableSignaller || + !xGPUS5MXTAMAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTAMHasLongConditions() + xGPUS5Provider.XTAMHasLongConditions() // && // @@ -13085,29 +13085,29 @@ bool XTESTXTAMHasLongSignal() // // XTAM Short Signal Checking ... -bool XTESTXTAMHasShortSignal() +bool XGPUS5XTAMHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTAMEnableSignaller || - !xTESTMXTAMAllowShortSignals) + if (!xGPUS5MXTAMEnableSignaller || + !xGPUS5MXTAMAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTAMHasShortConditions() + xGPUS5Provider.XTAMHasShortConditions() // && // @@ -16945,29 +16945,29 @@ bool XTESTXTAMHasShortSignal() // // XSI Long Signal Checking ... -bool XTESTXSIHasLongSignal() +bool XGPUS5XSIHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXSIEnableSignaller || - !xTESTMXSIAllowLongSignals) + if (!xGPUS5MXSIEnableSignaller || + !xGPUS5MXSIAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XSIHasLongConditions() + xGPUS5Provider.XSIHasLongConditions() // && // @@ -20805,29 +20805,29 @@ bool XTESTXSIHasLongSignal() // // XSI Short Signal Checking ... -bool XTESTXSIHasShortSignal() +bool XGPUS5XSIHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXSIEnableSignaller || - !xTESTMXSIAllowShortSignals) + if (!xGPUS5MXSIEnableSignaller || + !xGPUS5MXSIAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XSIHasShortConditions() + xGPUS5Provider.XSIHasShortConditions() // && // @@ -24665,29 +24665,29 @@ bool XTESTXSIHasShortSignal() // // XTSFI Long Signal Checking ... -bool XTESTXTSFIHasLongSignal() +bool XGPUS5XTSFIHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTSFIEnableSignaller || - !xTESTMXTSFIAllowLongSignals) + if (!xGPUS5MXTSFIEnableSignaller || + !xGPUS5MXTSFIAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTSFIHasLongConditions() + xGPUS5Provider.XTSFIHasLongConditions() // && // @@ -28525,29 +28525,29 @@ bool XTESTXTSFIHasLongSignal() // // XTSFI Short Signal Checking ... -bool XTESTXTSFIHasShortSignal() +bool XGPUS5XTSFIHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXTSFIEnableSignaller || - !xTESTMXTSFIAllowShortSignals) + if (!xGPUS5MXTSFIEnableSignaller || + !xGPUS5MXTSFIAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XTSFIHasShortConditions() + xGPUS5Provider.XTSFIHasShortConditions() // && // @@ -32385,29 +32385,29 @@ bool XTESTXTSFIHasShortSignal() // // XOBDLH Long Signal Checking ... -bool XTESTXOBDLHHasLongSignal() +bool XGPUS5XOBDLHHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXOBDLHEnableSignaller || - !xTESTMXOBDLHAllowLongSignals) + if (!xGPUS5MXOBDLHEnableSignaller || + !xGPUS5MXOBDLHAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XOBDLHHasLongConditions() + xGPUS5Provider.XOBDLHHasLongConditions() // && // @@ -32421,29 +32421,29 @@ bool XTESTXOBDLHHasLongSignal() // // XOBDLH Short Signal Checking ... -bool XTESTXOBDLHHasShortSignal() +bool XGPUS5XOBDLHHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXOBDLHEnableSignaller || - !xTESTMXOBDLHAllowShortSignals) + if (!xGPUS5MXOBDLHEnableSignaller || + !xGPUS5MXOBDLHAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XOBDLHHasShortConditions() + xGPUS5Provider.XOBDLHHasShortConditions() // && // @@ -32457,29 +32457,29 @@ bool XTESTXOBDLHHasShortSignal() // // XCHMACC Long Signal Checking ... -bool XTESTXCHMACCHasLongSignal() +bool XGPUS5XCHMACCHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMACCEnableSignaller || - !xTESTMXCHMACCAllowLongSignals) + if (!xGPUS5MXCHMACCEnableSignaller || + !xGPUS5MXCHMACCAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMACCHasLongConditions() + xGPUS5Provider.XCHMACCHasLongConditions() // && // @@ -36317,29 +36317,29 @@ bool XTESTXCHMACCHasLongSignal() // // XCHMACC Short Signal Checking ... -bool XTESTXCHMACCHasShortSignal() +bool XGPUS5XCHMACCHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMACCEnableSignaller || - !xTESTMXCHMACCAllowShortSignals) + if (!xGPUS5MXCHMACCEnableSignaller || + !xGPUS5MXCHMACCAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMACCHasShortConditions() + xGPUS5Provider.XCHMACCHasShortConditions() // && // @@ -40177,29 +40177,29 @@ bool XTESTXCHMACCHasShortSignal() // // XCHMAMN Long Signal Checking ... -bool XTESTXCHMAMNHasLongSignal() +bool XGPUS5XCHMAMNHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMNEnableSignaller || - !xTESTMXCHMAMNAllowLongSignals) + if (!xGPUS5MXCHMAMNEnableSignaller || + !xGPUS5MXCHMAMNAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMNHasLongConditions() + xGPUS5Provider.XCHMAMNHasLongConditions() // && // @@ -40213,29 +40213,29 @@ bool XTESTXCHMAMNHasLongSignal() // // XCHMAMN Short Signal Checking ... -bool XTESTXCHMAMNHasShortSignal() +bool XGPUS5XCHMAMNHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMNEnableSignaller || - !xTESTMXCHMAMNAllowShortSignals) + if (!xGPUS5MXCHMAMNEnableSignaller || + !xGPUS5MXCHMAMNAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMNHasShortConditions() + xGPUS5Provider.XCHMAMNHasShortConditions() // && // @@ -40249,29 +40249,29 @@ bool XTESTXCHMAMNHasShortSignal() // // XCHMAMX Long Signal Checking ... -bool XTESTXCHMAMXHasLongSignal() +bool XGPUS5XCHMAMXHasLongSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMXEnableSignaller || - !xTESTMXCHMAMXAllowLongSignals) + if (!xGPUS5MXCHMAMXEnableSignaller || + !xGPUS5MXCHMAMXAllowLongSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMXHasLongConditions() + xGPUS5Provider.XCHMAMXHasLongConditions() // && // @@ -40285,29 +40285,29 @@ bool XTESTXCHMAMXHasLongSignal() // // XCHMAMX Short Signal Checking ... -bool XTESTXCHMAMXHasShortSignal() +bool XGPUS5XCHMAMXHasShortSignal() { // bool result = false; // // Validate Args ... - if (!xTESTMXCHMAMXEnableSignaller || - !xTESTMXCHMAMXAllowShortSignals) + if (!xGPUS5MXCHMAMXEnableSignaller || + !xGPUS5MXCHMAMXAllowShortSignals) { return result; } // // Retrieve Market Condition ... - XMarketConditions mConditions = xTESTProvider.GetLastMarketCondition(); + XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: - xTESTProvider.XCHMAMXHasShortConditions() + xGPUS5Provider.XCHMAMXHasShortConditions() // && // diff --git a/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 b/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 new file mode 100644 index 00000000..56f3a414 --- /dev/null +++ b/Providers/x-saherelm.xgpus5.provider.inputs.lib.mq5 @@ -0,0 +1,283 @@ +/////////////////////////////////////////////////////////////// +// +// SaherElm IT Center MQL5 XGPUS5 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 "XGPUS5 Provider"; + +// +// Commonly Used Configurations ... +input group "XGPUS5 Common"; +// +// Provider ... +input bool xGPUS5EnableProvider = true; // Enable Provider +input int xGPUS5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick +// +// Alerts ... +input bool xGPUS5EnableAlerts = true; // Enable Events Alert +input bool xGPUS5EnableHourlyAlerts = false; // Send Alert on each new Hour +input bool xGPUS5EnableDailyAlerts = false; // Send Alert on each new Day +input bool xGPUS5EnableWeeklyAlerts = false; // Send Alert on each new Week +input bool xGPUS5EnableMonthlyAlerts = false; // Send Alert on each new Month +// +// Reports ... +input bool xGPUS5EnableDailyReports = false; // Send Report on each new Day +input bool xGPUS5EnableWeeklyReports = false; // Send Report on each new Week +input bool xGPUS5EnableMonthlyReports = false; // Send Report on each new Month + +// +// Trader and Expert Specific Configurations ... +input group "XGPUS5 Trader"; +input int xGPUS5MagicNumber = 16940563; // Trader MagicNumber +input int xGPUS5Slippage = 10; // Trader Slippage + +// +// Trades Management Configurations ... +input group "XGPUS5 Trade Management"; +input bool xGPUS5AllowLongTrades = true; // Allow Long Trades +input bool xGPUS5AllowShortTrades = true; // Allow Short Trades + +// +// Risk Management Configurations ... +input group "XGPUS5 Risk Management"; +// +// Trade Count ... +input int xGPUS5MaxAllowedTrades = 10; // Max Allowed Trades at Same Time +input ENUM_X_CROSS_SIGNAL_METHOD xGPUS5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method +// +// Max Allowed Trade Age ... +input int xGPUS5MaxAllowedTradeAge = 300; // Detect Long Time Trades +input ENUM_X_GUARD_ACTIONS xGPUS5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades +// +// Trade Volume Specific Configurations ... +input double xGPUS5StaticVolumeFactor = 0.0004; // Static Volume baesd on Balance +input ENUM_STATIC_VOLUME_METHODS xGPUS5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume +input double xGPUS5VolumeMultiplier = 0; // Volume Increase Multiplier +input double xGPUS5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance +input double xGPUS5MaxSupportedVolumePerTradeFactor = 0; // Max Supported Volume Per Trade Factor based on Balance +input double xGPUS5IncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance +// +// Trade Profits ... +input double xGPUS5MinRewardInPips = 60; // Minimum Reward Per Trade in Pips +input double xGPUS5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips +input double xGPUS5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades +// +// Guard Riskable Money and Profits ... +input double xGPUS5CriticalDrawDownFactor = 0.10; // Critical Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xGPUS5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown +input double xGPUS5MaxAllowedDrawDownFactor = 0.15; // Max Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xGPUS5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown +input int xGPUS5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched + +// +// Account Conditions for Trading ... +input double xGPUS5BalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades +input double xGPUS5FreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades + +// +// May be Used Later as Input Params ... +bool xGPUS5UseVirtualTPSl = false; // Use Virtual TP SL +bool xGPUS5EnableSignalAlerts = false; // Send Signal Alert + +// +// Validate Inputs before Initialization ... +bool XGPUS5ValidateInputs() +{ + // + bool result = false; + + // + // Implement Other Verifications ... + + // + // Check Trading Availability ... + bool isTradeAvailable = xGPUS5AllowLongTrades || xGPUS5AllowShortTrades; + if (!isTradeAvailable) + { + LogMessage("XGPUS5 => Warning: Trading disabled ..."); + } + + // + // Chekc Number of reading items per tick ... + result = xGPUS5NumberOfItemsPerTick >= 5; + if (!result) + { + // + LogMessage("XGPUS5 invalid Number of items Reading Per Tick ..."); + + // + return result; + } + + // + // Check Max Allowed Trades Count ... + result = isTradeAvailable && xGPUS5MaxAllowedTrades >= 1; + if (!result) + { + // + LogMessage("XGPUS5 Number of Trades not valid ..."); + + // + return result; + } + + // + // Check Free Margin ... + result = + isTradeAvailable && + xGPUS5FreeMarginFactorForOpenTrades > 0 && + xGPUS5FreeMarginFactorForOpenTrades < 1; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Free Margin ..."); + + // + return result; + } + + // + // Check min Balance for Open Trades ... + result = + isTradeAvailable && + xGPUS5BalanceFactorForOpenTrades > 0 && + xGPUS5BalanceFactorForOpenTrades < 1; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Min Balance for Open Trades ..."); + + // + return result; + } + + // + // Check Min Reward Per Trade ... + result = xGPUS5MinRewardInPips > 0; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Min Reward Per Trade ..."); + + // + return result; + } + + // + // Check Trades Volume ... + result = xGPUS5StaticVolumeFactor > 0; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Static Volume ..."); + + // + return result; + } + + // + // Check Volume Multiplier ... + result = xGPUS5VolumeMultiplier >= 0; + if (!result) + { + // + LogMessage("XGPUS5 Invalid Volume Multiplier ..."); + + // + return result; + } + + // + result = + xGPUS5CriticalDrawDownFactor == 0 || (xGPUS5CriticalDrawDownFactor > 0 && + xGPUS5CriticalDrawDownFactor < 1); + if (!result) + { + // + LogMessage("XGPUS5 Invalid Critical DrawDown Factor ..."); + + // + return result; + } + + // + result = + xGPUS5MaxAllowedDrawDownFactor == 0 || (xGPUS5MaxAllowedDrawDownFactor > 0 && + xGPUS5MaxAllowedDrawDownFactor < 1); + if (!result) + { + // + LogMessage("XGPUS5 Invalid Max Allowed DrawDown Factor ..."); + + // + return result; + } + + // + // Check Guard Actions ... + // + result = + xGPUS5CriticalDrawDownFactor > 0 && + xGPUS5CriticalDrawDownFactor < 1 && + xGPUS5MaxAllowedDrawDownFactor > 0 && + xGPUS5MaxAllowedDrawDownFactor < 1; + if (!result) + { + // + LogMessage("XGPUS5 For Critical Drawdown, you have to Specify Max Drawdown also ..."); + + // + return result; + } + + // + result = xGPUS5CriticalDrawDownFactor > 0 && xGPUS5CriticalDrawDownFactor < xGPUS5MaxAllowedDrawDownFactor; + if (!result) + { + // + LogMessage("XGPUS5 Critical Drawdown must Smaller than Max Drawdown ..."); + + // + return result; + } + + // + if (xGPUS5CriticalDrawDownFactor > 0 && xGPUS5CriticalGuardAction == X_GUARD_DO_NOTHING) + { + LogMessage("XGPUS5 IMPORTANT you Specified Critical Drawdown, but there is no any Guard Action ..."); + } + + // + if (xGPUS5MaxAllowedDrawDownFactor > 0 && xGPUS5MaxAllowedGuardAction == X_GUARD_DO_NOTHING) + { + LogMessage("XGPUS5 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.xtest.provider.lib.mq5 b/Providers/x-saherelm.xgpus5.provider.lib.mq5 similarity index 60% rename from BKP/Main/Providers/x-saherelm.xtest.provider.lib.mq5 rename to Providers/x-saherelm.xgpus5.provider.lib.mq5 index 862436c1..6ba9fe2a 100644 --- a/BKP/Main/Providers/x-saherelm.xtest.provider.lib.mq5 +++ b/Providers/x-saherelm.xgpus5.provider.lib.mq5 @@ -1,9 +1,9 @@ //////////////////////////////////////////////////////////// // -// SaherElm IT Center MQL5 XTEST Signal Provider Library +// SaherElm IT Center MQL5 XGPUS5 Signal Provider Library // -------------------------------------------------------- -// Name: XTESTSignalProvider -// Description: XTEST based signal provider ... +// Name: XGPUS5SignalProvider +// Description: XGPUS5 based signal provider ... // // // Maintainer: @@ -19,13 +19,13 @@ #property version "1.00" #property strict -#define XTESTProviderName "XTEST" +#define XGPUS5ProviderName "XGPUS5" // // START Inputs ... // -#include "x-saherelm.xtest.provider.inputs.lib.mq5"; +#include "x-saherelm.xgpus5.provider.inputs.lib.mq5"; // // END Inputs ... @@ -56,42 +56,42 @@ // // -XCGuard *xTESTGuard; -XCTrade *xTESTTrader; -XCReporter *xTESTReporter; -XCCollector *xTESTCollector; -XCAccountInfo *xTESTAccountInfo; -XCVolumeManager *xTESTVolumeManager; +XCGuard *xGPUS5Guard; +XCTrade *xGPUS5Trader; +XCReporter *xGPUS5Reporter; +XCCollector *xGPUS5Collector; +XCAccountInfo *xGPUS5AccountInfo; +XCVolumeManager *xGPUS5VolumeManager; // -#include "x-saherelm.xtest.provider.indicators.lib.mq5" +#include "x-saherelm.xgpus5.provider.indicators.lib.mq5" // // Controlling Variables ... -bool xTESTMEnableProvider = false; -bool xTESTMAllowLongTrades = false; -bool xTESTMAllowShortTrades = false; +bool xGPUS5MEnableProvider = false; +bool xGPUS5MAllowLongTrades = false; +bool xGPUS5MAllowShortTrades = false; // -double xTESTDeposit = 0; -double xTESTBalance = 0; -double xTESTMinReward = 0; -double xTESTFreeMargin = 0; -double xTESTBalanceForOpenTrades = 0; -double xTESTFreeMarginForOpenTrades = 0; +double xGPUS5Deposit = 0; +double xGPUS5Balance = 0; +double xGPUS5MinReward = 0; +double xGPUS5FreeMargin = 0; +double xGPUS5BalanceForOpenTrades = 0; +double xGPUS5FreeMarginForOpenTrades = 0; // // Guard ... -double xTESTCriticalDrawDown = 0; -double xTESTMaxAllowedDrawDown = 0; +double xGPUS5CriticalDrawDown = 0; +double xGPUS5MaxAllowedDrawDown = 0; // -double xTESTMaxDrawUp = 0; -double xTESTMaxDrawDown = 0; +double xGPUS5MaxDrawUp = 0; +double xGPUS5MaxDrawDown = 0; // int NOT_ENOUGH_MONEY_ERROR = 4756; -const string XTEST_SUPPORT_ID = "SP"; +const string XGPUS5_SUPPORT_ID = "SP"; // // END Global Definitions: Variables, Properties and etc ... @@ -103,26 +103,26 @@ const string XTEST_SUPPORT_ID = "SP"; // // Initial Library if required ... -bool XTESTInitSignalProviderLibrary() +bool XGPUS5InitSignalProviderLibrary() { // bool result = false; // - if (!xTESTEnableProvider) + if (!xGPUS5EnableProvider) { return result; } // // Controlling Variables ... - xTESTMEnableProvider = xTESTEnableProvider; - xTESTMAllowLongTrades = xTESTAllowLongTrades; - xTESTMAllowShortTrades = xTESTAllowShortTrades; + xGPUS5MEnableProvider = xGPUS5EnableProvider; + xGPUS5MAllowLongTrades = xGPUS5AllowLongTrades; + xGPUS5MAllowShortTrades = xGPUS5AllowShortTrades; // // Validate Inputs ... - result = XTESTValidateInputs(); + result = XGPUS5ValidateInputs(); if (!result) { return result; @@ -130,113 +130,113 @@ bool XTESTInitSignalProviderLibrary() // // Init Indicators ... - result = XTESTInitIndicators(); + result = XGPUS5InitIndicators(); if (!result) { return result; } // - xTESTReporter = new XCReporter(); - xTESTCollector = new XCCollector(); - xTESTAccountInfo = new XCAccountInfo(); + xGPUS5Reporter = new XCReporter(); + xGPUS5Collector = new XCCollector(); + xGPUS5AccountInfo = new XCAccountInfo(); // // Calculate Account Deposit ... - xTESTDeposit = xTESTAccountInfo.GetInitialBalance(); + xGPUS5Deposit = xGPUS5AccountInfo.GetInitialBalance(); // // Prepare Min Reward ... - if (xTESTMinRewardInPips > 0) + if (xGPUS5MinRewardInPips > 0) { - xTESTMinReward = PipsToPrice(xTESTMinRewardInPips); + xGPUS5MinReward = PipsToPrice(xGPUS5MinRewardInPips); } // // Calculate Min Balance for Trades ... - if (xTESTBalanceFactorForOpenTrades > 0) + if (xGPUS5BalanceFactorForOpenTrades > 0) { - xTESTBalanceForOpenTrades = xTESTBalanceFactorForOpenTrades * xTESTDeposit; + xGPUS5BalanceForOpenTrades = xGPUS5BalanceFactorForOpenTrades * xGPUS5Deposit; } // // Claculate Min Free Marging for Trades ... - if (xTESTFreeMarginFactorForOpenTrades > 0) + if (xGPUS5FreeMarginFactorForOpenTrades > 0) { - xTESTFreeMarginForOpenTrades = xTESTFreeMarginFactorForOpenTrades * xTESTDeposit; + xGPUS5FreeMarginForOpenTrades = xGPUS5FreeMarginFactorForOpenTrades * xGPUS5Deposit; } // // Calculate Init Time Critical DrawDown Value ... - if (xTESTCriticalDrawDownFactor > 0) + if (xGPUS5CriticalDrawDownFactor > 0) { - xTESTCriticalDrawDown = xTESTCriticalDrawDownFactor * xTESTDeposit; + xGPUS5CriticalDrawDown = xGPUS5CriticalDrawDownFactor * xGPUS5Deposit; } // // Calculate Init Time Max Allowed DrawDown Value ... - if (xTESTMaxAllowedDrawDownFactor > 0) + if (xGPUS5MaxAllowedDrawDownFactor > 0) { - xTESTMaxAllowedDrawDown = xTESTMaxAllowedDrawDownFactor * xTESTDeposit; + xGPUS5MaxAllowedDrawDown = xGPUS5MaxAllowedDrawDownFactor * xGPUS5Deposit; } // // Instant Volume Manager ... - xTESTVolumeManager = new XCVolumeManager( - xTESTStaticVolumeFactor, - xTESTStaticVolumeMethod, - xTESTVolumeMultiplier, - xTESTApplyVolumeMultiplierFactor, - xTESTMaxSupportedVolumePerTradeFactor, - xTESTIncreasedMaxSupportedVolumeRate); + xGPUS5VolumeManager = new XCVolumeManager( + xGPUS5StaticVolumeFactor, + xGPUS5StaticVolumeMethod, + xGPUS5VolumeMultiplier, + xGPUS5ApplyVolumeMultiplierFactor, + xGPUS5MaxSupportedVolumePerTradeFactor, + xGPUS5IncreasedMaxSupportedVolumeRate); // // Make XCTrader instance ... - xTESTTrader = new XCTrade( - XTESTProviderName, + xGPUS5Trader = new XCTrade( + XGPUS5ProviderName, _Symbol, - xTESTSlippage, - xTESTMagicNumber, - xTESTUseVirtualTPSl, - xTESTMaxAllowedTrades, - xTESTFreeMarginForOpenTrades, - xTESTBalanceForOpenTrades); + xGPUS5Slippage, + xGPUS5MagicNumber, + xGPUS5UseVirtualTPSl, + xGPUS5MaxAllowedTrades, + xGPUS5FreeMarginForOpenTrades, + xGPUS5BalanceForOpenTrades); // // Instantiate Account Guard ... - xTESTGuard = new XCGuard( + xGPUS5Guard = new XCGuard( // // Old Trades ... - xTESTMaxAllowedTradeAge, - xTESTOldTradesAction, + xGPUS5MaxAllowedTradeAge, + xGPUS5OldTradesAction, // // Critical DrawDown ... - xTESTCriticalDrawDownFactor, - xTESTCriticalGuardAction, + xGPUS5CriticalDrawDownFactor, + xGPUS5CriticalGuardAction, // // Max Allowed DrawDown ... - xTESTMaxAllowedDrawDownFactor, - xTESTMaxAllowedGuardAction, - xTESTGuardStopoutFiredAfterTouches, + xGPUS5MaxAllowedDrawDownFactor, + xGPUS5MaxAllowedGuardAction, + xGPUS5GuardStopoutFiredAfterTouches, // - // xTESTGuardSupportMethod + // xGPUS5GuardSupportMethod X_SUPPORT_DO_NOTHING // ); // // Reset Calculations Buffers and Variables ... - XTESTResetCollectors(); + XGPUS5ResetCollectors(); // - XTESTUpdateReports(); + XGPUS5UpdateReports(); // result = true; // // Logging State ... - XTESTIssueInitializationSucceedAlert(); + XGPUS5IssueInitializationSucceedAlert(); // return result; @@ -244,65 +244,65 @@ bool XTESTInitSignalProviderLibrary() // // DeInitial Library if required ... -void XTESTDeinitSignalProviderLibrary(const int reason) +void XGPUS5DeinitSignalProviderLibrary(const int reason) { // // Release Handlers ... - XTESTReleaseIndicators(); + XGPUS5ReleaseIndicators(); // // Logging State ... - XTESTIssueDeinitializationSucceedAlert(); + XGPUS5IssueDeinitializationSucceedAlert(); } // // this is a Globally Function which do all of // checkings and positions handling ... -void XTESTSignalProviderHandleTick() +void XGPUS5SignalProviderHandleTick() { // // Check Provider is Enable or Not ... - if (!xTESTMEnableProvider) + if (!xGPUS5MEnableProvider) { return; } // - XTESTSignalProviderDoControlState(); + XGPUS5SignalProviderDoControlState(); // // Reading Indicator Buffers ... - XTESTHandleReadingBuffers(); - if (xTESTCalculatedBars < xTESTMaxLengthOfInputs) + XGPUS5HandleReadingBuffers(); + if (xGPUS5CalculatedBars < xGPUS5MaxLengthOfInputs) { return; } // // Handle Open Trades ... - XTESTHandleOpenTrades(); + XGPUS5HandleOpenTrades(); // // Handle Close Trades ... - XTESTHandleCloseTrades(); + XGPUS5HandleCloseTrades(); // // DrawDown and DrawUp ... - XTESTHandleCalculateDrawDownUp(); + XGPUS5HandleCalculateDrawDownUp(); } // // Do Control Checks here ... -void XTESTSignalProviderDoControlState() +void XGPUS5SignalProviderDoControlState() { // // Update account Balance ... - xTESTBalance = xTESTAccountInfo.GetBalance(); - xTESTFreeMargin = xTESTAccountInfo.GetFreeMargin(); + xGPUS5Balance = xGPUS5AccountInfo.GetBalance(); + xGPUS5FreeMargin = xGPUS5AccountInfo.GetFreeMargin(); // // Check Provider is Enable or Not ... - if (!xTESTMEnableProvider) + if (!xGPUS5MEnableProvider) { return; } @@ -312,10 +312,10 @@ void XTESTSignalProviderDoControlState() // TODO: add Guard Result here ... string guardMessage = ""; XGuardHandlerResult guardHandlerResult; - bool isGuarded = xTESTGuard.Guard( + bool isGuarded = xGPUS5Guard.Guard( guardHandlerResult, guardMessage, - xTESTTrader, + xGPUS5Trader, _Period); if (isGuarded) { @@ -331,7 +331,7 @@ void XTESTSignalProviderDoControlState() XSignal iSignal = guardHandlerResult.criticals[i]; // - XTESTOnGuard( + XGPUS5OnGuard( iSignal, X_GUARDED_CRITICAL, guardMessage); @@ -350,7 +350,7 @@ void XTESTSignalProviderDoControlState() XSignal iSignal = guardHandlerResult.maxes[i]; // - XTESTOnGuard( + XGPUS5OnGuard( iSignal, X_GUARDED_MAX, guardMessage, @@ -370,7 +370,7 @@ void XTESTSignalProviderDoControlState() XSignal iSignal = guardHandlerResult.olds[i]; // - XTESTOnGuard( + XGPUS5OnGuard( iSignal, X_GUARDED_OLD, guardMessage); @@ -381,9 +381,9 @@ void XTESTSignalProviderDoControlState() // // Signal Protection ... XSignal protectSupports[]; - bool isSupported = xTESTGuard.ProtectSignals( + bool isSupported = xGPUS5Guard.ProtectSignals( protectSupports, - xTESTTrader); + xGPUS5Trader); if (isSupported) { // @@ -393,7 +393,7 @@ void XTESTSignalProviderDoControlState() // // Handling Signals ... XTraderHandlerResult signalHandlerResult; - xTESTTrader.HandleSignals( + xGPUS5Trader.HandleSignals( signalHandlerResult, false // Ignore Risk Free Trdaes ); @@ -408,7 +408,7 @@ void XTESTSignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.sl[i]; - XTESTOnSL(iSignal); + XGPUS5OnSL(iSignal); } } @@ -422,7 +422,7 @@ void XTESTSignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.tp[i]; - XTESTOnTP(iSignal); + XGPUS5OnTP(iSignal); } } @@ -436,18 +436,18 @@ void XTESTSignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.rf[i]; - XTESTOnRF(iSignal); + XGPUS5OnRF(iSignal); } } } // // Handle Trades when OnTrade Event Hnadler Calls ... -void XTESTSignalProviderHandleTrade() +void XGPUS5SignalProviderHandleTrade() { // // Check Provider Enabled ... - if (!xTESTMEnableProvider) + if (!xGPUS5MEnableProvider) { return; } @@ -455,7 +455,7 @@ void XTESTSignalProviderHandleTrade() // // Handle OnTrade Event ... XOnTradeHandlerResult result = {}; - xTESTTrader.HandleOnTradeEvent( + xGPUS5Trader.HandleOnTradeEvent( result); // @@ -463,27 +463,27 @@ void XTESTSignalProviderHandleTrade() if (result.hasNewDeal) { // - XDeal last = xTESTTrader.GetLastDeal(); + XDeal last = xGPUS5Trader.GetLastDeal(); // if (last.reason == DEAL_REASON_SL) { - xTESTReporter.AddTradeSLInReports(); + xGPUS5Reporter.AddTradeSLInReports(); } else if (last.reason == DEAL_REASON_TP) { - xTESTReporter.AddTradeTPInReports(); + xGPUS5Reporter.AddTradeTPInReports(); } } } // // Handle Open Trades ... -void XTESTHandleOpenTrades() +void XGPUS5HandleOpenTrades() { // // Check Can Trade ... - bool canTrade = xTESTMAllowLongTrades || xTESTMAllowShortTrades; + bool canTrade = xGPUS5MAllowLongTrades || xGPUS5MAllowShortTrades; if (!canTrade) { return; @@ -491,8 +491,8 @@ void XTESTHandleOpenTrades() // // Check Max Open Trades ... - int openSignals = xTESTTrader.Count(); - bool canOpenPositions = openSignals < xTESTMaxAllowedTrades; + int openSignals = xGPUS5Trader.Count(); + bool canOpenPositions = openSignals < xGPUS5MaxAllowedTrades; if (!canOpenPositions) { return; @@ -502,8 +502,8 @@ void XTESTHandleOpenTrades() // Check Signals Exists ... XProvidedSignal longSignalInfo; XProvidedSignal shortSignalInfo; - bool hasLongSignal = XTESTCanOpenLongTrade(longSignalInfo); - bool hasShortSignal = XTESTCanOpenShortTrade(shortSignalInfo); + bool hasLongSignal = XGPUS5CanOpenLongTrade(longSignalInfo); + bool hasShortSignal = XGPUS5CanOpenShortTrade(shortSignalInfo); if (!hasLongSignal && !hasShortSignal) { return; @@ -511,20 +511,20 @@ void XTESTHandleOpenTrades() // // Update Reports ... - XTESTUpdateReports(); + XGPUS5UpdateReports(); // - xTESTWaitUntilNextCandle = true; + xGPUS5WaitUntilNextCandle = true; // // Open Long Trades ... if ( // hasLongSignal && - xTESTMAllowLongTrades) + xGPUS5MAllowLongTrades) { // - bool isOpened = XTESTOpenLongPosition(longSignalInfo); + bool isOpened = XGPUS5OpenLongPosition(longSignalInfo); } // @@ -532,29 +532,29 @@ void XTESTHandleOpenTrades() if ( // hasShortSignal && - xTESTMAllowShortTrades) + xGPUS5MAllowShortTrades) { // - bool isOpened = XTESTOpenShortPosition(shortSignalInfo); + bool isOpened = XGPUS5OpenShortPosition(shortSignalInfo); } } // // Handle Close Trades ... -void XTESTHandleCloseTrades() +void XGPUS5HandleCloseTrades() { // // Force Close Long Trades ... bool isClosedLongTrades = false; - bool canCloseLongTrades = XTESTCanCloseLongTrade(); - if (xTESTMAllowLongTrades && canCloseLongTrades) + bool canCloseLongTrades = XGPUS5CanCloseLongTrade(); + if (xGPUS5MAllowLongTrades && canCloseLongTrades) { // ENUM_X_SIGNAL_TYPE type = X_SIGNAL_LONG; // XSignal closed[]; - xTESTTrader.CloseSignals( + xGPUS5Trader.CloseSignals( closed, type); @@ -568,7 +568,7 @@ void XTESTHandleCloseTrades() { // XSignal iSignal = closed[i]; - XTESTOnFC(iSignal); + XGPUS5OnFC(iSignal); } } } @@ -576,15 +576,15 @@ void XTESTHandleCloseTrades() // // Force Close Short Trades ... bool isClosedShortTrades = false; - bool canCloseShortTrades = XTESTCanCloseShortTrade(); - if (xTESTMAllowShortTrades && canCloseShortTrades) + bool canCloseShortTrades = XGPUS5CanCloseShortTrade(); + if (xGPUS5MAllowShortTrades && canCloseShortTrades) { // ENUM_X_SIGNAL_TYPE type = X_SIGNAL_SHORT; // XSignal closed[]; - xTESTTrader.CloseSignals( + xGPUS5Trader.CloseSignals( closed, type); @@ -598,7 +598,7 @@ void XTESTHandleCloseTrades() { // XSignal iSignal = closed[i]; - XTESTOnFC(iSignal); + XGPUS5OnFC(iSignal); } } } @@ -606,7 +606,7 @@ void XTESTHandleCloseTrades() // // Open Long Position ... -bool XTESTOpenLongPosition( +bool XGPUS5OpenLongPosition( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -619,14 +619,14 @@ bool XTESTOpenLongPosition( 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 + xTESTMinReward; - double riskFreeRate = xTESTRiskFreeRate; - double riskFreeStep = xTESTRiskFreeStepInPips; - double volume = XTESTCalculateVolume(ArraySize(info.signallers)); + double tp = info.tp > 0 ? info.tp : entry + xGPUS5MinReward; + double riskFreeRate = xGPUS5RiskFreeRate; + double riskFreeStep = xGPUS5RiskFreeStepInPips; + double volume = XGPUS5CalculateVolume(ArraySize(info.signallers)); // XSignal signal = {}; - signal = xTESTTrader.GenerateSignal( + signal = xGPUS5Trader.GenerateSignal( X_SIGNAL_LONG, tp, sl, @@ -635,20 +635,20 @@ bool XTESTOpenLongPosition( riskFreeRate); bool isValidSignal = IsValid( signal, - xTESTMagicNumber); + xGPUS5MagicNumber); if (!isValidSignal) { return result; } // - int signalsCount = xTESTTrader.Count(); + int signalsCount = xGPUS5Trader.Count(); bool isCross = signalsCount >= 1; if (isCross) { // // Handle Cross Signals ... - XTESTHnadleCrossSignal(signal); + XGPUS5HnadleCrossSignal(signal); } // @@ -661,7 +661,7 @@ bool XTESTOpenLongPosition( ( // isCross && - xTESTCrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING + xGPUS5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING // ); if (!canExecuteSignal) @@ -671,7 +671,7 @@ bool XTESTOpenLongPosition( // // Execute Signal ... - ENUM_EXECUTION_SIGNAL_RESULT executionResult = xTESTTrader.ExecuteSignal( + ENUM_EXECUTION_SIGNAL_RESULT executionResult = xGPUS5Trader.ExecuteSignal( signal, false, // Ignore Number of Trades ... true // Check Account Conditions ... @@ -688,16 +688,16 @@ bool XTESTOpenLongPosition( ); // - XSignal tSignal = xTESTTrader.GetSignal(signal.ticket); + XSignal tSignal = xGPUS5Trader.GetSignal(signal.ticket); // - XTESTOnSignal( + XGPUS5OnSignal( tSignal, providers); } else { - XTESTIssueSignalExecutionError(executionResult); + XGPUS5IssueSignalExecutionError(executionResult); } // @@ -706,7 +706,7 @@ bool XTESTOpenLongPosition( // // Open Short Position ... -bool XTESTOpenShortPosition( +bool XGPUS5OpenShortPosition( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -719,14 +719,14 @@ bool XTESTOpenShortPosition( 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 - xTESTMinReward; - double riskFreeRate = xTESTRiskFreeRate; - double riskFreeStep = xTESTRiskFreeStepInPips; - double volume = XTESTCalculateVolume(ArraySize(info.signallers)); + double tp = info.tp > 0 ? info.tp : entry - xGPUS5MinReward; + double riskFreeRate = xGPUS5RiskFreeRate; + double riskFreeStep = xGPUS5RiskFreeStepInPips; + double volume = XGPUS5CalculateVolume(ArraySize(info.signallers)); // XSignal signal = {}; - signal = xTESTTrader.GenerateSignal( + signal = xGPUS5Trader.GenerateSignal( X_SIGNAL_SHORT, tp, sl, @@ -735,20 +735,20 @@ bool XTESTOpenShortPosition( riskFreeRate); bool isValidSignal = IsValid( signal, - xTESTMagicNumber); + xGPUS5MagicNumber); if (!isValidSignal) { return result; } // - int signalsCount = xTESTTrader.Count(); + int signalsCount = xGPUS5Trader.Count(); bool isCross = signalsCount >= 1; if (isCross) { // // Handle Cross Signals ... - XTESTHnadleCrossSignal(signal); + XGPUS5HnadleCrossSignal(signal); } // @@ -761,7 +761,7 @@ bool XTESTOpenShortPosition( ( // isCross && - xTESTCrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING + xGPUS5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING // ); if (!canExecuteSignal) @@ -771,7 +771,7 @@ bool XTESTOpenShortPosition( // // Execute Signal ... - ENUM_EXECUTION_SIGNAL_RESULT executionResult = xTESTTrader.ExecuteSignal( + ENUM_EXECUTION_SIGNAL_RESULT executionResult = xGPUS5Trader.ExecuteSignal( signal, false, // Ignore Number of Trades ... true // Check Account Conditions ... @@ -786,16 +786,16 @@ bool XTESTOpenShortPosition( ); // - XSignal tSignal = xTESTTrader.GetSignal(signal.ticket); + XSignal tSignal = xGPUS5Trader.GetSignal(signal.ticket); // - XTESTOnSignal( + XGPUS5OnSignal( tSignal, providers); } else { - XTESTIssueSignalExecutionError(executionResult); + XGPUS5IssueSignalExecutionError(executionResult); } // @@ -804,20 +804,20 @@ bool XTESTOpenShortPosition( // // Apply Cross Signal Actions ... -void XTESTHnadleCrossSignal( +void XGPUS5HnadleCrossSignal( XSignal &signal // Specified Signal ... ) { // // Check Cross Signal Handling Enabled ... - if (xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DO_NOTHING) + if (xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DO_NOTHING) { return; } // // First We have to Change Cross Signals Comment ... - string comment = xTESTTrader.GenerateSignalComment( + string comment = xGPUS5Trader.GenerateSignalComment( signal, true); @@ -826,21 +826,21 @@ void XTESTHnadleCrossSignal( // // If Every thing is Regular, prevent any changes here ... - if (xTESTCrossSignalsMethod == X_CROSS_SIGNAL_REGULAR) + if (xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_REGULAR) { return; } // // Retrieve Max in Drawdown Signal ... - XSignal maxInDDSignal = xTESTTrader.GetMaxInDrawdownSignal(); + XSignal maxInDDSignal = xGPUS5Trader.GetMaxInDrawdownSignal(); // // Validate Signal ... bool isValidSignal = maxInDDSignal.ticket > 0 && maxInDDSignal.symbol == signal.symbol && - IsValid(maxInDDSignal, xTESTMagicNumber); + IsValid(maxInDDSignal, xGPUS5MagicNumber); if (!isValidSignal) { return; @@ -856,14 +856,14 @@ void XTESTHnadleCrossSignal( isDirectional ? ( // - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR || - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR_INDIRECTION_IMPORTANT + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR || + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR_INDIRECTION_IMPORTANT // ) : ( // - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_INDIRECTION_REGULAR || - xTESTCrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_IMPORTANT_INDIRECTION_REGULAR + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_INDIRECTION_REGULAR || + xGPUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_IMPORTANT_INDIRECTION_REGULAR // ); if (isRegular) @@ -882,11 +882,11 @@ void XTESTHnadleCrossSignal( // // Calculate Usefull data ... -void XTESTHandleCalculateDrawDownUp() +void XGPUS5HandleCalculateDrawDownUp() { // XSignal signals[]; - xTESTTrader.GetSignals(signals); + xGPUS5Trader.GetSignals(signals); int signalsCount = ArraySize(signals); if (signalsCount <= 0) { @@ -897,7 +897,7 @@ void XTESTHandleCalculateDrawDownUp() double profit = 0; double volume = 0; XCollector collector = {}; - double maxAllowedVolume = xTESTVolumeManager.GetMaxAllowedVolume(); + double maxAllowedVolume = xGPUS5VolumeManager.GetMaxAllowedVolume(); for (int i = 0; i < signalsCount; i++) { // @@ -918,11 +918,11 @@ void XTESTHandleCalculateDrawDownUp() if (profit < 0) { // - xTESTMaxDrawDown = - xTESTMaxDrawDown == 0 || - xTESTMaxDrawDown > MathAbs(profit) + xGPUS5MaxDrawDown = + xGPUS5MaxDrawDown == 0 || + xGPUS5MaxDrawDown > MathAbs(profit) ? MathAbs(profit) - : xTESTMaxDrawDown; + : xGPUS5MaxDrawDown; // // Update Buffers ... @@ -933,29 +933,29 @@ void XTESTHandleCalculateDrawDownUp() // collector.time = time; collector.volume = volume; - collector.maxDrawDown = xTESTMaxDrawDown; + collector.maxDrawDown = xGPUS5MaxDrawDown; collector.maxAllowedVolume = maxAllowedVolume; - collector.minBalanceForOpenTrade = xTESTTrader.GetMinBalanceForOpenTrades(); + collector.minBalanceForOpenTrade = xGPUS5Trader.GetMinBalanceForOpenTrades(); } else { // - xTESTMaxDrawUp = - xTESTMaxDrawUp == 0 || - xTESTMaxDrawUp < profit + xGPUS5MaxDrawUp = + xGPUS5MaxDrawUp == 0 || + xGPUS5MaxDrawUp < profit ? profit - : xTESTMaxDrawUp; + : xGPUS5MaxDrawUp; } // // Update Collector ... - xTESTCollector.Add(collector); + xGPUS5Collector.Add(collector); // // Update Reports ... - xTESTReporter.UpdateMaxDrawUpInReports(xTESTMaxDrawUp); - xTESTReporter.UpdateMaxDrawDownInReports(xTESTMaxDrawDown); - xTESTReporter.UpdateMaxSameTimeTradesInReports(signalsCount); + xGPUS5Reporter.UpdateMaxDrawUpInReports(xGPUS5MaxDrawUp); + xGPUS5Reporter.UpdateMaxDrawDownInReports(xGPUS5MaxDrawDown); + xGPUS5Reporter.UpdateMaxSameTimeTradesInReports(signalsCount); } // @@ -964,116 +964,116 @@ void XTESTHandleCalculateDrawDownUp() // // Runs When a Signal Successfully Executed ... -void XTESTOnSignal( +void XGPUS5OnSignal( XSignal &signal, // Specified Signal string &providers[] // Signal Providers ) { // // Issue Propper Alert ... - XTESTIssueSignalExecutionAlert( + XGPUS5IssueSignalExecutionAlert( signal, providers); // // Add Signal To Supports on Guard ... - xTESTGuard.AddSupport(signal); + xGPUS5Guard.AddSupport(signal); // // Update Reports ... - xTESTReporter.AddSignalToReports( + xGPUS5Reporter.AddSignalToReports( signal, providers); } // // Runs when a Position Got Take Profit ... -void XTESTOnTP( +void XGPUS5OnTP( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueTPAlert(signal); + XGPUS5IssueTPAlert(signal); // // Remove Signal From Guard Protector ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeTPInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeTPInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Got Stop Loss ... -void XTESTOnSL( +void XGPUS5OnSL( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueSLAlert(signal); + XGPUS5IssueSLAlert(signal); // // Remove Signal From Guard Protector ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Risk Free ... -void XTESTOnRF( +void XGPUS5OnRF( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueRFAlert(signal); + XGPUS5IssueRFAlert(signal); // // Remove Signal From Guard Protector ... // since RiskFree Signals has SL ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Force Closed ... -void XTESTOnFC( +void XGPUS5OnFC( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XTESTIssueFCAlert(signal); + XGPUS5IssueFCAlert(signal); // // Remove Signal From Guard Protector ... - xTESTGuard.Remove(signal.ticket); - xTESTGuard.RemoveSupport(signal.ticket); + xGPUS5Guard.Remove(signal.ticket); + xGPUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // // Runs when a Position Guarded ... -void XTESTOnGuard( +void XGPUS5OnGuard( XSignal &signal, // Specified Signal ENUM_X_GUARD_REASONS reason, // Reason of Guard Applied string message, // Guard Returned Message @@ -1088,17 +1088,17 @@ void XTESTOnGuard( LogMessage(message); // - xTESTMEnableProvider = false; + xGPUS5MEnableProvider = false; } // // Issue Propper Alert ... - XTESTIssueGuardAlert(signal, reason, isStopOut); + XGPUS5IssueGuardAlert(signal, reason, isStopOut); // // Update Reports ... - xTESTReporter.AddTradeSLInReports(); - XTESTUpdateReports(); + xGPUS5Reporter.AddTradeSLInReports(); + XGPUS5UpdateReports(); } // @@ -1119,16 +1119,16 @@ void XTESTOnGuard( // // Calculating Volume for Tradings ... -double XTESTCalculateVolume( +double XGPUS5CalculateVolume( 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 = xTESTTrader.Count(); + int openSignals = xGPUS5Trader.Count(); // - double result = xTESTVolumeManager.CalculateVolume( + double result = xGPUS5VolumeManager.CalculateVolume( openSignals, _Symbol); @@ -1153,20 +1153,20 @@ double XTESTCalculateVolume( // // Update Report Info ... -void XTESTUpdateReports() +void XGPUS5UpdateReports() { // - double staticVolume = xTESTVolumeManager.GetStaticVolume(); - string staticVolumeCalculationMethod = EnumToString(xTESTStaticVolumeMethod); - double maxAllowedVolume = xTESTVolumeManager.GetMaxAllowedVolume(); - double volumeIncreaseMultiplier = xTESTVolumeManager.GetVolumeMultiplier(); - double balanceGowingToApplyMultiplier = xTESTVolumeManager.GetIncreaseMultiplierBalance(); + double staticVolume = xGPUS5VolumeManager.GetStaticVolume(); + string staticVolumeCalculationMethod = EnumToString(xGPUS5StaticVolumeMethod); + double maxAllowedVolume = xGPUS5VolumeManager.GetMaxAllowedVolume(); + double volumeIncreaseMultiplier = xGPUS5VolumeManager.GetVolumeMultiplier(); + double balanceGowingToApplyMultiplier = xGPUS5VolumeManager.GetIncreaseMultiplierBalance(); - double balanceGrowingToIncreaseMaxAllowedVolume = xTESTVolumeManager.GetIncreaseMaxAllowedVolumeBalance(); + double balanceGrowingToIncreaseMaxAllowedVolume = xGPUS5VolumeManager.GetIncreaseMaxAllowedVolumeBalance(); // // Update Reports Volume Info ... - xTESTReporter.UpdateReportsVolumeInfo( + xGPUS5Reporter.UpdateReportsVolumeInfo( staticVolume, staticVolumeCalculationMethod, maxAllowedVolume, @@ -1176,24 +1176,24 @@ void XTESTUpdateReports() // // Calculate Max Allowed Drawdown ... - double minBalanceForTradeBasedOnBalance = xTESTTrader.GetMinBalanceForOpenTrades(); - xTESTReporter.UpdateMinBalanceForOpenTradesInReports(minBalanceForTradeBasedOnBalance); + double minBalanceForTradeBasedOnBalance = xGPUS5Trader.GetMinBalanceForOpenTrades(); + xGPUS5Reporter.UpdateMinBalanceForOpenTradesInReports(minBalanceForTradeBasedOnBalance); } // -// Reset XTEST Info Buffers ... -void XTESTResetCollectors() +// Reset XGPUS5 Info Buffers ... +void XGPUS5ResetCollectors() { // // Reset Calculations Buffers and Variables ... - xTESTMaxDrawUp = 0; - xTESTMaxDrawDown = 0; + xGPUS5MaxDrawUp = 0; + xGPUS5MaxDrawDown = 0; // - xTESTTrader.Reset(); - xTESTReporter.Reset(); - xTESTCollector.Reset(); - xTESTVolumeManager.ResetForceVolumeMultiplier(); + xGPUS5Trader.Reset(); + xGPUS5Reporter.Reset(); + xGPUS5Collector.Reset(); + xGPUS5VolumeManager.ResetForceVolumeMultiplier(); } // @@ -1206,7 +1206,7 @@ void XTESTResetCollectors() // // Send Alert ... -void XTESTIssueAlert(string message) +void XGPUS5IssueAlert(string message) { // // Validate Args ... @@ -1216,7 +1216,7 @@ void XTESTIssueAlert(string message) } // - if (xTESTEnableAlerts) + if (xGPUS5EnableAlerts) { SendAlert(message); } @@ -1228,7 +1228,7 @@ void XTESTIssueAlert(string message) // // Send Take Profit Alert on Specific Signal ... -void XTESTIssueTPAlert( +void XGPUS5IssueTPAlert( XSignal &signal // Specified Signal ) { @@ -1236,15 +1236,15 @@ void XTESTIssueTPAlert( string message = ""; // - message = xTESTTrader.GenerateSignalTPComment(signal); + message = xGPUS5Trader.GenerateSignalTPComment(signal); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Stop Loss Alert on Specific Signal ... -void XTESTIssueSLAlert( +void XGPUS5IssueSLAlert( XSignal &signal // Specified Signal ) { @@ -1252,15 +1252,15 @@ void XTESTIssueSLAlert( string message = ""; // - message = xTESTTrader.GenerateSignalSLComment(signal); + message = xGPUS5Trader.GenerateSignalSLComment(signal); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Force Close Alert on Specific Signal ... -void XTESTIssueFCAlert( +void XGPUS5IssueFCAlert( XSignal &signal // Specified Signal ) { @@ -1268,15 +1268,15 @@ void XTESTIssueFCAlert( string message = ""; // - message = xTESTTrader.GenerateSignalForceCloseComment(signal); + message = xGPUS5Trader.GenerateSignalForceCloseComment(signal); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Risk Free Alert on Specific Signal ... -void XTESTIssueRFAlert( +void XGPUS5IssueRFAlert( XSignal &signal // Specified Signal ) { @@ -1284,15 +1284,15 @@ void XTESTIssueRFAlert( string message = ""; // - message = xTESTTrader.GenerateSignalRFComment(signal, 0); + message = xGPUS5Trader.GenerateSignalRFComment(signal, 0); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Guard Alert on Specific Signal ... -void XTESTIssueGuardAlert( +void XGPUS5IssueGuardAlert( 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 XTESTIssueGuardAlert( string message = ""; // - message = xTESTGuard.GenerateGuardedSignalComment( + message = xGPUS5Guard.GenerateGuardedSignalComment( signal, reason); // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Initialization Succeed Alert ... -void XTESTIssueInitializationSucceedAlert() +void XGPUS5IssueInitializationSucceedAlert() { // - string message = "Initializion of (" + XTESTProviderName + " Provider" + " _ " + _Symbol + " _ " + EnumToString(_Period) + ") Succeeded ..."; - XTESTIssueAlert(message); + string message = "Initializion of (" + XGPUS5ProviderName + " Provider" + " _ " + _Symbol + " _ " + EnumToString(_Period) + ") Succeeded ..."; + XGPUS5IssueAlert(message); } // // Send De Initialization Succeed Alert ... -void XTESTIssueDeinitializationSucceedAlert() +void XGPUS5IssueDeinitializationSucceedAlert() { // - string message = "De Initializion of (" + XTESTProviderName + " Provider" + ") Succeeded ..."; - XTESTIssueAlert(message); + string message = "De Initializion of (" + XGPUS5ProviderName + " Provider" + ") Succeeded ..."; + XGPUS5IssueAlert(message); } // // Send Signal Successfully Execution Alert ... -void XTESTIssueSignalExecutionAlert( +void XGPUS5IssueSignalExecutionAlert( XSignal &signal, // Specified Signal string &providers[] // Signal Providers ) { // - string message = xTESTTrader.ToString(signal); + string message = xGPUS5Trader.ToString(signal); // string providersMsg = ToString(providers); @@ -1346,12 +1346,12 @@ void XTESTIssueSignalExecutionAlert( } // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // // Send Signal Execution Alert ... -void XTESTIssueSignalExecutionError(int error) +void XGPUS5IssueSignalExecutionError(int error) { // string message = GetSignalExecutionError(error); @@ -1361,7 +1361,7 @@ void XTESTIssueSignalExecutionError(int error) } // - XTESTIssueAlert(message); + XGPUS5IssueAlert(message); } // diff --git a/Providers/x-saherelm.xtest.provider.inputs.lib.mq5 b/Providers/x-saherelm.xtest.provider.inputs.lib.mq5 deleted file mode 100644 index 8fa14209..00000000 --- a/Providers/x-saherelm.xtest.provider.inputs.lib.mq5 +++ /dev/null @@ -1,283 +0,0 @@ -/////////////////////////////////////////////////////////////// -// -// SaherElm IT Center MQL5 XTEST 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 "XTEST Provider"; - -// -// Commonly Used Configurations ... -input group "XTEST Common"; -// -// Provider ... -input bool xTESTEnableProvider = true; // Enable Provider -input int xTESTNumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick -// -// Alerts ... -input bool xTESTEnableAlerts = true; // Enable Events Alert -input bool xTESTEnableHourlyAlerts = false; // Send Alert on each new Hour -input bool xTESTEnableDailyAlerts = false; // Send Alert on each new Day -input bool xTESTEnableWeeklyAlerts = false; // Send Alert on each new Week -input bool xTESTEnableMonthlyAlerts = false; // Send Alert on each new Month -// -// Reports ... -input bool xTESTEnableDailyReports = false; // Send Report on each new Day -input bool xTESTEnableWeeklyReports = false; // Send Report on each new Week -input bool xTESTEnableMonthlyReports = false; // Send Report on each new Month - -// -// Trader and Expert Specific Configurations ... -input group "XTEST Trader"; -input int xTESTMagicNumber = 16940563; // Trader MagicNumber -input int xTESTSlippage = 10; // Trader Slippage - -// -// Trades Management Configurations ... -input group "XTEST Trade Management"; -input bool xTESTAllowLongTrades = true; // Allow Long Trades -input bool xTESTAllowShortTrades = true; // Allow Short Trades - -// -// Risk Management Configurations ... -input group "XTEST Risk Management"; -// -// Trade Count ... -input int xTESTMaxAllowedTrades = 10; // Max Allowed Trades at Same Time -input ENUM_X_CROSS_SIGNAL_METHOD xTESTCrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method -// -// Max Allowed Trade Age ... -input int xTESTMaxAllowedTradeAge = 300; // Detect Long Time Trades -input ENUM_X_GUARD_ACTIONS xTESTOldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades -// -// Trade Volume Specific Configurations ... -input double xTESTStaticVolumeFactor = 0.0004; // Static Volume baesd on Balance -input ENUM_STATIC_VOLUME_METHODS xTESTStaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume -input double xTESTVolumeMultiplier = 0; // Volume Increase Multiplier -input double xTESTApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance -input double xTESTMaxSupportedVolumePerTradeFactor = 0; // Max Supported Volume Per Trade Factor based on Balance -input double xTESTIncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance -// -// Trade Profits ... -input double xTESTMinRewardInPips = 60; // Minimum Reward Per Trade in Pips -input double xTESTRiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips -input double xTESTRiskFreeRate = 0; // Volume Multiplier for Risk Free Trades -// -// Guard Riskable Money and Profits ... -input double xTESTCriticalDrawDownFactor = 0.10; // Critical Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xTESTCriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown -input double xTESTMaxAllowedDrawDownFactor = 0.15; // Max Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xTESTMaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown -input int xTESTGuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched - -// -// Account Conditions for Trading ... -input double xTESTBalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades -input double xTESTFreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades - -// -// May be Used Later as Input Params ... -bool xTESTUseVirtualTPSl = false; // Use Virtual TP SL -bool xTESTEnableSignalAlerts = false; // Send Signal Alert - -// -// Validate Inputs before Initialization ... -bool XTESTValidateInputs() -{ - // - bool result = false; - - // - // Implement Other Verifications ... - - // - // Check Trading Availability ... - bool isTradeAvailable = xTESTAllowLongTrades || xTESTAllowShortTrades; - if (!isTradeAvailable) - { - LogMessage("XTEST => Warning: Trading disabled ..."); - } - - // - // Chekc Number of reading items per tick ... - result = xTESTNumberOfItemsPerTick >= 5; - if (!result) - { - // - LogMessage("XTEST invalid Number of items Reading Per Tick ..."); - - // - return result; - } - - // - // Check Max Allowed Trades Count ... - result = isTradeAvailable && xTESTMaxAllowedTrades >= 1; - if (!result) - { - // - LogMessage("XTEST Number of Trades not valid ..."); - - // - return result; - } - - // - // Check Free Margin ... - result = - isTradeAvailable && - xTESTFreeMarginFactorForOpenTrades > 0 && - xTESTFreeMarginFactorForOpenTrades < 1; - if (!result) - { - // - LogMessage("XTEST Invalid Free Margin ..."); - - // - return result; - } - - // - // Check min Balance for Open Trades ... - result = - isTradeAvailable && - xTESTBalanceFactorForOpenTrades > 0 && - xTESTBalanceFactorForOpenTrades < 1; - if (!result) - { - // - LogMessage("XTEST Invalid Min Balance for Open Trades ..."); - - // - return result; - } - - // - // Check Min Reward Per Trade ... - result = xTESTMinRewardInPips > 0; - if (!result) - { - // - LogMessage("XTEST Invalid Min Reward Per Trade ..."); - - // - return result; - } - - // - // Check Trades Volume ... - result = xTESTStaticVolumeFactor > 0; - if (!result) - { - // - LogMessage("XTEST Invalid Static Volume ..."); - - // - return result; - } - - // - // Check Volume Multiplier ... - result = xTESTVolumeMultiplier >= 0; - if (!result) - { - // - LogMessage("XTEST Invalid Volume Multiplier ..."); - - // - return result; - } - - // - result = - xTESTCriticalDrawDownFactor == 0 || (xTESTCriticalDrawDownFactor > 0 && - xTESTCriticalDrawDownFactor < 1); - if (!result) - { - // - LogMessage("XTEST Invalid Critical DrawDown Factor ..."); - - // - return result; - } - - // - result = - xTESTMaxAllowedDrawDownFactor == 0 || (xTESTMaxAllowedDrawDownFactor > 0 && - xTESTMaxAllowedDrawDownFactor < 1); - if (!result) - { - // - LogMessage("XTEST Invalid Max Allowed DrawDown Factor ..."); - - // - return result; - } - - // - // Check Guard Actions ... - // - result = - xTESTCriticalDrawDownFactor > 0 && - xTESTCriticalDrawDownFactor < 1 && - xTESTMaxAllowedDrawDownFactor > 0 && - xTESTMaxAllowedDrawDownFactor < 1; - if (!result) - { - // - LogMessage("XTEST For Critical Drawdown, you have to Specify Max Drawdown also ..."); - - // - return result; - } - - // - result = xTESTCriticalDrawDownFactor > 0 && xTESTCriticalDrawDownFactor < xTESTMaxAllowedDrawDownFactor; - if (!result) - { - // - LogMessage("XTEST Critical Drawdown must Smaller than Max Drawdown ..."); - - // - return result; - } - - // - if (xTESTCriticalDrawDownFactor > 0 && xTESTCriticalGuardAction == X_GUARD_DO_NOTHING) - { - LogMessage("XTEST IMPORTANT you Specified Critical Drawdown, but there is no any Guard Action ..."); - } - - // - if (xTESTMaxAllowedDrawDownFactor > 0 && xTESTMaxAllowedGuardAction == X_GUARD_DO_NOTHING) - { - LogMessage("XTEST IMPORTANT you Specified Max Allowed Drawdown, but there is no any Guard Action ..."); - } - - // - result = true; - - // - return result; -} \ No newline at end of file