Files
MQL5Data/Projects/XGPUS5/Providers/x-saherelm.xgpus5.provider.indicators.lib.mq5
T

40941 lines
1.7 MiB
Plaintext

///////////////////////////////////////////////////////////////////
//
// SaherElm IT Center MQL5 XGPUS5 Signal Provider Indicators Library
// ----------------------------------------------------------------
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////
//
// Global Properties ...
#property library
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://www.saherelm.ir"
#property version "1.00"
#property strict
//
// Include Provider Inputs ...
#include "x-saherelm.xgpus5.provider.inputs.lib.mq5"
//
// Include Provider Class ...
#include "../Classes/x-saherelm.provider.lib.mq5"
//
// Signallers ...
input group "XGPUS5 Signallers";
//
// XTD ...
input group "XGPUS5 XTD Signaller";
input bool xGPUS5XTDEnableSignaller = true; // Enable Signaller
input bool xGPUS5XTDAllowLongSignals = true; // Enable Long Signals
input bool xGPUS5XTDAllowShortSignals = true; // Enable Short Signals
//
// XTAM ...
input group "XGPUS5 XTAM Signaller";
input bool xGPUS5XTAMEnableSignaller = true; // Enable Signaller
input bool xGPUS5XTAMAllowLongSignals = true; // Enable Long Signals
input bool xGPUS5XTAMAllowShortSignals = true; // Enable Short Signals
//
// XSI ...
input group "XGPUS5 XSI Signaller";
input bool xGPUS5XSIEnableSignaller = true; // Enable Signaller
input bool xGPUS5XSIAllowLongSignals = true; // Enable Long Signals
input bool xGPUS5XSIAllowShortSignals = true; // Enable Short Signals
//
// XTSFI ...
input group "XGPUS5 XTSFI Signaller";
input bool xGPUS5XTSFIEnableSignaller = true; // Enable Signaller
input bool xGPUS5XTSFIAllowLongSignals = true; // Enable Long Signals
input bool xGPUS5XTSFIAllowShortSignals = true; // Enable Short Signals
//
// XOBDLH ...
// input group "XGPUS5 XOBDLH Signaller";
// input bool xGPUS5XOBDLHEnableSignaller = true; // Enable Signaller
// input bool xGPUS5XOBDLHAllowLongSignals = true; // Enable Long Signals
// input bool xGPUS5XOBDLHAllowShortSignals = true; // Enable Short Signals
//
// XCHMACC ...
input group "XGPUS5 XCHMACC Signaller";
input bool xGPUS5XCHMACCEnableSignaller = true; // Enable Signaller
input bool xGPUS5XCHMACCAllowLongSignals = true; // Enable Long Signals
input bool xGPUS5XCHMACCAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMX ...
// input group "XGPUS5 XCHMAMX Signaller";
// input bool xGPUS5XCHMAMXEnableSignaller = true; // Enable Signaller
// input bool xGPUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals
// input bool xGPUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMN ...
input group "XGPUS5 XCHMAMN Signaller";
// input bool xGPUS5XCHMAMNEnableSignaller = true; // Enable Signaller
// input bool xGPUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals
// input bool xGPUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals
//
// Check in Test Mode or not ...
bool xGPUS5IsTestMode = false;
//
// Detect max Input Length of Indicators ...
int xGPUS5MaxLengthOfInputs = 0;
//
// Detect Calculated Bars ...
int xGPUS5CalculatedBars = 0;
//
// Check prevent Double Signalling on Same Candle ...
bool xGPUS5WaitUntilNextCandle = false;
//
// Signaller Variables ...
//
// XTD ...
bool xGPUS5MXTDEnableSignaller = xGPUS5XTDEnableSignaller;
bool xGPUS5MXTDAllowLongSignals = xGPUS5XTDAllowLongSignals;
bool xGPUS5MXTDAllowShortSignals = xGPUS5XTDAllowShortSignals;
//
// XTAM ...
bool xGPUS5MXTAMEnableSignaller = xGPUS5XTAMEnableSignaller;
bool xGPUS5MXTAMAllowLongSignals = xGPUS5XTAMAllowLongSignals;
bool xGPUS5MXTAMAllowShortSignals = xGPUS5XTAMAllowShortSignals;
//
// XSI ...
bool xGPUS5MXSIEnableSignaller = xGPUS5XSIEnableSignaller;
bool xGPUS5MXSIAllowLongSignals = xGPUS5XSIAllowLongSignals;
bool xGPUS5MXSIAllowShortSignals = xGPUS5XSIAllowShortSignals;
//
// XTSFI ...
bool xGPUS5MXTSFIEnableSignaller = xGPUS5XTSFIEnableSignaller;
bool xGPUS5MXTSFIAllowLongSignals = xGPUS5XTSFIAllowLongSignals;
bool xGPUS5MXTSFIAllowShortSignals = xGPUS5XTSFIAllowShortSignals;
//
// XOBDLH ...
bool xGPUS5MXOBDLHEnableSignaller = false; // xGPUS5XOBDLHEnableSignaller;
bool xGPUS5MXOBDLHAllowLongSignals = false; // xGPUS5XOBDLHAllowLongSignals;
bool xGPUS5MXOBDLHAllowShortSignals = false; // xGPUS5XOBDLHAllowShortSignals;
//
// XCHMACC ...
bool xGPUS5MXCHMACCEnableSignaller = xGPUS5XCHMACCEnableSignaller;
bool xGPUS5MXCHMACCAllowLongSignals = xGPUS5XCHMACCAllowLongSignals;
bool xGPUS5MXCHMACCAllowShortSignals = xGPUS5XCHMACCAllowShortSignals;
//
// XCHMAMX ...
bool xGPUS5MXCHMAMXEnableSignaller = false; // xGPUS5XCHMAMXEnableSignaller;
bool xGPUS5MXCHMAMXAllowLongSignals = false; // xGPUS5XCHMAMXAllowLongSignals;
bool xGPUS5MXCHMAMXAllowShortSignals = false; // xGPUS5XCHMAMXAllowShortSignals;
//
// XCHMAMN ...
bool xGPUS5MXCHMAMNEnableSignaller = false; // xGPUS5XCHMAMNEnableSignaller;
bool xGPUS5MXCHMAMNAllowLongSignals = false; // xGPUS5XCHMAMNAllowLongSignals;
bool xGPUS5MXCHMAMNAllowShortSignals = false; // xGPUS5XCHMAMNAllowShortSignals;
//
XCProvider *xGPUS5Provider;
//
// Validate Indicators Inputs ...
bool XGPUS5ValidateIndicatorsInputs()
{
//
bool result = false;
//
// XTM ...
result = XTMValidateInputs();
if (!result)
{
return result;
}
//
// XAMA ...
result = XAMAValidateInputs();
if (!result)
{
return result;
}
//
// XTD ...
result = XTDValidateInputs();
if (!result)
{
return result;
}
//
// XFI ...
result = XFIValidateInputs();
if (!result)
{
return result;
}
//
// XTS ...
result = XTSValidateInputs();
if (!result)
{
return result;
}
//
// XOBD ...
result = XOBDValidateInputs();
if (!result)
{
return result;
}
//
// XLH ...
result = XLHValidateInputs();
if (!result)
{
return result;
}
//
// XRSI ...
result = XRSIValidateInputs();
if (!result)
{
return result;
}
//
// XCHLH ...
result = XCHLHValidateInputs();
if (!result)
{
return result;
}
//
// XCHMA ...
result = XCHMAValidateInputs();
if (!result)
{
return result;
}
//
// Make an Instance Of XCProvider Class for Use ...
xGPUS5Provider = new XCProvider(
//
// Commons ...
_Symbol,
_Period,
//
// Signallers ...
//
// XTD ...
xGPUS5MXTDEnableSignaller,
xGPUS5MXTDAllowLongSignals,
xGPUS5MXTDAllowShortSignals,
//
// XTAM ...
xGPUS5MXTAMEnableSignaller,
xGPUS5MXTAMAllowLongSignals,
xGPUS5MXTAMAllowShortSignals,
//
// XSI ...
xGPUS5MXSIEnableSignaller,
xGPUS5MXSIAllowLongSignals,
xGPUS5MXSIAllowShortSignals,
//
// XTSFI ...
xGPUS5MXTSFIEnableSignaller,
xGPUS5MXTSFIAllowLongSignals,
xGPUS5MXTSFIAllowShortSignals,
//
// XOBDLH ...
xGPUS5MXOBDLHEnableSignaller,
xGPUS5MXOBDLHAllowLongSignals,
xGPUS5MXOBDLHAllowShortSignals,
//
// XCHMACC ...
xGPUS5MXCHMACCEnableSignaller,
xGPUS5MXCHMACCAllowLongSignals,
xGPUS5MXCHMACCAllowShortSignals,
//
// XCHMAMX ...
xGPUS5MXCHMAMXEnableSignaller,
xGPUS5MXCHMAMXAllowLongSignals,
xGPUS5MXCHMAMXAllowShortSignals,
//
// XCHMAMN ...
xGPUS5MXCHMAMNEnableSignaller,
xGPUS5MXCHMAMNAllowLongSignals,
xGPUS5MXCHMAMNAllowShortSignals
//
);
//
result = true;
//
return result;
}
//
// Init Indicators ...
bool XGPUS5InitIndicators()
{
//
bool result = false;
//
// Make it Enable when we need to Log Market Conditions ...
xGPUS5IsTestMode = IsRunningOnTestMode();
//
// Check and Calculate Max Length in Inputs ...
//
//
// XTM ...
xGPUS5MaxLengthOfInputs = MathMax(
xTMMaPeriod,
xGPUS5NumberOfItemsPerTick);
//
// XAMA ...
xGPUS5MaxLengthOfInputs = MathMax(
xAMALength,
xGPUS5NumberOfItemsPerTick);
xGPUS5MaxLengthOfInputs = MathMax(
xAMAFastEMA,
xGPUS5NumberOfItemsPerTick);
xGPUS5MaxLengthOfInputs = MathMax(
xAMASlowEMA,
xGPUS5NumberOfItemsPerTick);
//
// XLH ...
xGPUS5MaxLengthOfInputs = MathMax(
xLHLength,
xGPUS5NumberOfItemsPerTick);
//
// XTD ...
xGPUS5MaxLengthOfInputs = MathMax(
xTDLength,
xGPUS5MaxLengthOfInputs);
//
// XFI ...
xGPUS5MaxLengthOfInputs = MathMax(
xFILength,
xGPUS5MaxLengthOfInputs);
//
// XRSI ...
xGPUS5MaxLengthOfInputs = MathMax(
xRSILength,
xGPUS5MaxLengthOfInputs);
//
// XOBD ...
xGPUS5MaxLengthOfInputs = MathMax(
xOBDLength,
xGPUS5MaxLengthOfInputs);
//
// XCHLH ...
xGPUS5MaxLengthOfInputs = MathMax(
xCHLHLcLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHLHMcLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHLHScLength,
xGPUS5MaxLengthOfInputs);
//
// XCHMA ...
xGPUS5MaxLengthOfInputs = MathMax(
xCHMAScFastLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHMAScSlowLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHMAMcFastLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHMAMcSlowLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHMALcFastLength,
xGPUS5MaxLengthOfInputs);
xGPUS5MaxLengthOfInputs = MathMax(
xCHMALcSlowLength,
xGPUS5MaxLengthOfInputs);
//
// Validate Indicators Inputs before Initialization ...
result = XGPUS5ValidateIndicatorsInputs();
if (!result)
{
return result;
}
//
// Validate Signallers ...
//
// XTD ...
bool isXTDEnable =
xGPUS5XTDEnableSignaller &&
(xGPUS5XTDAllowLongSignals ||
xGPUS5XTDAllowShortSignals);
//
// XTAM ...
bool isXTAMEnable =
xGPUS5XTAMEnableSignaller &&
(xGPUS5XTAMAllowLongSignals ||
xGPUS5XTAMAllowShortSignals);
//
// XSI ...
bool isXSIEnable =
xGPUS5XSIEnableSignaller &&
(xGPUS5XSIAllowLongSignals ||
xGPUS5XSIAllowShortSignals);
//
// XTSFI ...
bool isXTSFIEnable =
xGPUS5XTSFIEnableSignaller &&
(xGPUS5XTSFIAllowLongSignals ||
xGPUS5XTSFIAllowShortSignals);
//
// XOBDLH ...
bool isXOBDLHEnable = false;
// xGPUS5XOBDLHEnableSignaller &&
// (xGPUS5XOBDLHAllowLongSignals ||
// xGPUS5XOBDLHAllowShortSignals);
//
// XCHMACC ...
bool isXCHMACCEnable =
xGPUS5XCHMACCEnableSignaller &&
(xGPUS5XCHMACCAllowLongSignals ||
xGPUS5XCHMACCAllowShortSignals);
//
// XCHMAMX ...
bool isXCHMAMXEnable = false;
// xGPUS5XCHMAMXEnableSignaller &&
// (xGPUS5XCHMAMXAllowLongSignals ||
// xGPUS5XCHMAMXAllowShortSignals);
//
// XCHMAMN ...
bool isXCHMAMNEnable = false;
// xGPUS5XCHMAMNEnableSignaller &&
// (xGPUS5XCHMAMNAllowLongSignals ||
// xGPUS5XCHMAMNAllowShortSignals);
//
bool hasSignaller =
//
isXTDEnable ||
isXTAMEnable ||
isXSIEnable ||
isXTSFIEnable ||
isXOBDLHEnable ||
isXCHMACCEnable ||
isXCHMAMXEnable ||
isXCHMAMNEnable
//
;
result = hasSignaller;
if (!result)
{
//
LogMessage("XGPUS5 doesn't enable any Signaller ...");
//
return result;
}
//
// Initialize Indicator/Oscillator Handlers ...
ResetLastError();
//
// XTM Init ...
result = XTMInitHandlers();
if (!result)
{
return result;
}
//
// XAMA Init ...
result = XAMAInitHandlers();
if (!result)
{
return result;
}
//
// XLH Init ...
result = XLHInitHandlers();
if (!result)
{
return result;
}
//
// XTD Init ...
result = XTDInitHandlers();
if (!result)
{
return result;
}
//
// XFI Init ...
result = XFIInitHandlers();
if (!result)
{
return result;
}
//
// XTS Init ...
result = XTSInitHandlers();
if (!result)
{
return result;
}
//
// XRSI Init ...
result = XRSIInitHandlers();
if (!result)
{
return result;
}
//
// XOBD Init ...
result = XOBDInitHandlers();
if (!result)
{
return result;
}
//
// XCLH Init ...
result = XCHLHInitHandlers();
if (!result)
{
return result;
}
//
// XCHMA Init ...
result = XCHMAInitHandlers();
if (!result)
{
return result;
}
//
result = true;
//
return result;
}
//
// Release Indicators ...
void XGPUS5ReleaseIndicators()
{
//
// Release Handlers ...
XTMReleaseHandlers();
XAMAReleaseHandlers();
XLHReleaseHandlers();
XTDReleaseHandlers();
XFIReleaseHandlers();
XTSReleaseHandlers();
XRSIReleaseHandlers();
XOBDReleaseHandlers();
XCHMAReleaseHandlers();
XCHLHReleaseHandlers();
}
//
// Handle Reading Buffers ...
void XGPUS5HandleReadingBuffers()
{
//
// Reading Calculated Bars for a Simple Handler ...
xGPUS5CalculatedBars = BarsCalculated(xTMHandler);
//
// Read Indicators Buffers ...
XTMReadBuffers(xGPUS5NumberOfItemsPerTick);
XAMAReadBuffers(xGPUS5NumberOfItemsPerTick);
XLHReadBuffers(xGPUS5NumberOfItemsPerTick);
XTDReadBuffers(xGPUS5NumberOfItemsPerTick);
XFIReadBuffers(xGPUS5NumberOfItemsPerTick);
XTSReadBuffers(xGPUS5NumberOfItemsPerTick);
XRSIReadBuffers(xGPUS5NumberOfItemsPerTick);
XOBDReadBuffers(xGPUS5NumberOfItemsPerTick);
XCHMAReadBuffers(xGPUS5NumberOfItemsPerTick);
XCHLHReadBuffers(xGPUS5NumberOfItemsPerTick);
//
xGPUS5Provider.ReadConditions();
}
//
//
// START Combination Functions ...
//
//
//
// Can Open Long Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Long Signals ...
bool XGPUS5CanOpenLongTrade(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
info.tp = 0;
info.sl = 0;
ArrayResize(
info.signallers,
0);
//
bool hasSignal = XGPUS5HasLongSignal(info);
//
result =
//
hasSignal
//
;
//
if (result)
{
xGPUS5Provider.ClearConditions();
}
//
return result;
}
//
// Can Close Long Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Long Signals ...
bool XGPUS5CanCloseLongTrade()
{
//
bool result = false;
//
return result;
}
//
// Can Open Short Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Short Signals ...
bool XGPUS5CanOpenShortTrade(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
info.tp = 0;
info.sl = 0;
ArrayResize(
info.signallers,
0);
//
bool hasSignal = XGPUS5HasShortSignal(info);
//
result =
//
hasSignal
//
;
//
if (result)
{
xGPUS5Provider.ClearConditions();
}
//
return result;
}
//
// Can Close Short Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Short Signals ...
bool XGPUS5CanCloseShortTrade()
{
//
bool result = false;
//
return result;
}
//
//
// END Combination Functions ...
//
//
//
//
// START Combination Signaling ...
//
//
//
// Check Market Conditions by Combination of Power of All tools for LONGs ...
bool XGPUS5HasLongSignal(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
// XTD ...
bool isXTDHasSignal = XGPUS5XTDHasLongSignal();
if (isXTDHasSignal)
{
//
Add(
EnumToString(XTD),
info.signallers);
}
//
// XTAM ...
bool isXTAMHasSignal = XGPUS5XTAMHasLongSignal();
if (isXTAMHasSignal)
{
//
Add(
EnumToString(XTAM),
info.signallers);
}
//
// XSI ...
bool isXSIHasSignal = XGPUS5XSIHasLongSignal();
if (isXSIHasSignal)
{
//
Add(
EnumToString(XSI),
info.signallers);
}
//
// XTSFI ...
bool isXTSFIHasSignal = XGPUS5XTSFIHasLongSignal();
if (isXTSFIHasSignal)
{
//
Add(
EnumToString(XTSFI),
info.signallers);
}
//
// XOBD XLH ...
bool isXOBDLHHasSignal = XGPUS5XOBDLHHasLongSignal();
if (isXOBDLHHasSignal)
{
//
Add(
EnumToString(XOBDLH),
info.signallers);
}
//
// XCHMA Cycles Cross ...
bool isXCHMACCHasSignal = XGPUS5XCHMACCHasLongSignal();
if (isXCHMACCHasSignal)
{
//
Add(
EnumToString(XCHMACC),
info.signallers);
}
//
// XCHMA Cycles Min ...
bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasLongSignal();
if (isXCHMAMNHasSignal)
{
//
Add(
EnumToString(XCHMAMN),
info.signallers);
}
//
// XCHMA Cycles Max
bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasLongSignal();
if (isXCHMAMXHasSignal)
{
//
Add(
EnumToString(XCHMAMX),
info.signallers);
}
//
result =
//
isXTDHasSignal
//
||
//
isXTAMHasSignal
//
||
//
isXSIHasSignal
//
||
//
isXTSFIHasSignal
//
||
//
isXOBDLHHasSignal
//
||
//
isXCHMACCHasSignal
//
||
//
isXCHMAMNHasSignal
//
||
//
isXCHMAMXHasSignal
//
;
//
if (result)
{
//
// Only Log Signals Time Market Conditions if is in Testing Mode ...
if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts)
{
//
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
string message = xGPUS5Provider.GenerateConditionsString(mConditions);
//
LogMessage(
"Long Signal Provided by: \n" +
info.signallers[ArraySize(info.signallers) - 1] + "\n" +
"Pusher: " + (string)ArraySize(info.signallers) + "\n" +
"Market Conditions: " + message);
}
}
//
return result;
}
//
// Check Market Conditions by Combination of Power of All tools for SHORTs ...
bool XGPUS5HasShortSignal(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
// XTD ...
bool isXTDHasSignal = XGPUS5XTDHasShortSignal();
if (isXTDHasSignal)
{
//
Add(
EnumToString(XTD),
info.signallers);
}
//
// XTAM ...
bool isXTAMHasSignal = XGPUS5XTAMHasShortSignal();
if (isXTAMHasSignal)
{
//
Add(
EnumToString(XTAM),
info.signallers);
}
//
// XSI ...
bool isXSIHasSignal = XGPUS5XSIHasShortSignal();
if (isXSIHasSignal)
{
//
Add(
EnumToString(XSI),
info.signallers);
}
//
// XTSFI ...
bool isXTSFIHasSignal = XGPUS5XTSFIHasShortSignal();
if (isXTSFIHasSignal)
{
//
Add(
EnumToString(XTSFI),
info.signallers);
}
//
// XOBD XLH ...
bool isXOBDLHHasSignal = XGPUS5XOBDLHHasShortSignal();
if (isXOBDLHHasSignal)
{
//
Add(
EnumToString(XOBDLH),
info.signallers);
}
//
// XCHMA Cycles Cross ...
bool isXCHMACCHasSignal = XGPUS5XCHMACCHasShortSignal();
if (isXCHMACCHasSignal)
{
//
Add(
EnumToString(XCHMACC),
info.signallers);
}
//
// XCHMA Cycles Min ...
bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasShortSignal();
if (isXCHMAMNHasSignal)
{
//
Add(
EnumToString(XCHMAMN),
info.signallers);
}
//
// XCHMA Cycles Max
bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasShortSignal();
if (isXCHMAMXHasSignal)
{
//
Add(
EnumToString(XCHMAMX),
info.signallers);
}
//
result =
//
isXTDHasSignal
//
||
//
isXTAMHasSignal
//
||
//
isXSIHasSignal
//
||
//
isXTSFIHasSignal
//
||
//
isXOBDLHHasSignal
//
||
//
isXCHMACCHasSignal
//
||
//
isXCHMAMNHasSignal
//
||
//
isXCHMAMXHasSignal
//
;
//
if (result)
{
//
// Only Log Signals Time Market Conditions if is in Testing Mode ...
if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts)
{
//
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
string message = xGPUS5Provider.GenerateConditionsString(mConditions);
//
LogMessage(
"Short Signal Provided by: \n" +
info.signallers[ArraySize(info.signallers) - 1] + "\n" +
"Pusher: " + (string)ArraySize(info.signallers) + "\n" +
"Market Conditions: " + message);
}
}
//
return result;
}
//
//
// END Combination Signaling ...
//
//
//
// START Signal Providers ...
//
//
// Disbale All Signallers Longs ...
void XGPUS5DisableLongSignallers()
{
//
// XTD ...
if (xGPUS5MXTDEnableSignaller)
{
//
xGPUS5Provider.DisbaleXTDLongs();
xGPUS5MXTDAllowLongSignals = false;
}
//
// XTAM ...
if (xGPUS5MXTAMEnableSignaller)
{
//
xGPUS5Provider.DisbaleXTAMLongs();
xGPUS5MXTAMAllowLongSignals = false;
}
//
// XSI ...
if (xGPUS5MXSIEnableSignaller)
{
//
xGPUS5Provider.DisbaleXSILongs();
xGPUS5MXSIAllowLongSignals = false;
}
//
// XTSFI ...
if (xGPUS5MXTSFIEnableSignaller)
{
//
xGPUS5Provider.DisbaleXTSFILongs();
xGPUS5MXTSFIAllowLongSignals = false;
}
//
// XOBDLH ...
// if (xGPUS5MXOBDLHEnableSignaller)
// {
// //
// xGPUS5Provider.DisbaleXOBDLHLongs();
// xGPUS5MXOBDLHAllowLongSignals = false;
// }
//
// XCHMACC ...
if (xGPUS5MXCHMACCEnableSignaller)
{
//
xGPUS5Provider.DisbaleXCHMACCLongs();
xGPUS5MXCHMACCAllowLongSignals = false;
}
//
// XCHMAMX ...
// if (xGPUS5MXCHMAMXEnableSignaller)
// {
// //
// xGPUS5Provider.DisbaleXCHMAMXLongs();
// xGPUS5MXCHMAMXAllowLongSignals = false;
// }
//
// XCHMAMN ...
// if (xGPUS5MXCHMAMNEnableSignaller)
// {
// //
// xGPUS5Provider.DisbaleXCHMAMNLongs();
// xGPUS5MXCHMAMNAllowLongSignals = false;
// }
}
//
// Enable All Signallers Longs ...
// Only if they are Configured as Enable at Settings ...
void XGPUS5EnableLongSignallers()
{
//
// XTD ...
if (xGPUS5MXTDEnableSignaller)
{
//
xGPUS5MXTDAllowLongSignals =
xGPUS5XTDAllowLongSignals
? true
: xGPUS5MXTDAllowLongSignals;
//
if (xGPUS5MXTDAllowLongSignals)
{
xGPUS5Provider.EnableXTDLongs();
}
}
//
// XTAM ...
if (xGPUS5MXTAMEnableSignaller)
{
//
xGPUS5MXTAMAllowLongSignals =
xGPUS5XTAMAllowLongSignals
? true
: xGPUS5MXTAMAllowLongSignals;
//
if (xGPUS5MXTAMAllowLongSignals)
{
xGPUS5Provider.EnableXTAMLongs();
}
}
//
// XSI ...
if (xGPUS5MXSIEnableSignaller)
{
//
xGPUS5MXSIAllowLongSignals =
xGPUS5XSIAllowLongSignals
? true
: xGPUS5MXSIAllowLongSignals;
//
if (xGPUS5MXSIAllowLongSignals)
{
xGPUS5Provider.EnableXSILongs();
}
}
//
// XTSFI ...
if (xGPUS5MXTSFIEnableSignaller)
{
//
xGPUS5MXTSFIAllowLongSignals =
xGPUS5XTSFIAllowLongSignals
? true
: xGPUS5MXTSFIAllowLongSignals;
//
if (xGPUS5MXTSFIAllowLongSignals)
{
xGPUS5Provider.EnableXTSFILongs();
}
}
//
// XOBDLH ...
// if (xGPUS5MXOBDLHEnableSignaller)
// {
// //
// xGPUS5MXOBDLHAllowLongSignals =
// xGPUS5XOBDLHAllowLongSignals
// ? true
// : xGPUS5MXOBDLHAllowLongSignals;
// //
// if (xGPUS5MXOBDLHAllowLongSignals)
// {
// xGPUS5Provider.EnableXOBDLHLongs();
// }
// }
//
// XCHMACC ...
if (xGPUS5MXCHMACCEnableSignaller)
{
//
xGPUS5MXCHMACCAllowLongSignals =
xGPUS5XCHMACCAllowLongSignals
? true
: xGPUS5MXCHMACCAllowLongSignals;
//
if (xGPUS5MXCHMACCAllowLongSignals)
{
xGPUS5Provider.EnableXCHMACCLongs();
}
}
//
// XCHMAMX ...
// if (xGPUS5MXCHMAMXEnableSignaller)
// {
// //
// xGPUS5MXCHMAMXAllowLongSignals =
// xGPUS5XCHMAMXAllowLongSignals
// ? true
// : xGPUS5MXCHMAMXAllowLongSignals;
// //
// if (xGPUS5MXCHMAMXAllowLongSignals)
// {
// xGPUS5Provider.EnableXCHMAMXLongs();
// }
// }
//
// XCHMAMN ...
// if (xGPUS5MXCHMAMNEnableSignaller)
// {
// //
// xGPUS5MXCHMAMNAllowLongSignals =
// xGPUS5XCHMAMNAllowLongSignals
// ? true
// : xGPUS5MXCHMAMNAllowLongSignals;
// //
// if (xGPUS5MXCHMAMNAllowLongSignals)
// {
// xGPUS5Provider.EnableXCHMAMNLongs();
// }
// }
}
//
// Disable All Signallers Shorts ...
void XGPUS5DisableShortSignallers()
{
//
// XTD ...
if (xGPUS5MXTDEnableSignaller)
{
//
xGPUS5Provider.DisableXTDShorts();
xGPUS5MXTDAllowShortSignals = false;
}
//
// XTAM ...
if (xGPUS5MXTAMEnableSignaller)
{
//
xGPUS5Provider.DisableXTAMShorts();
xGPUS5MXTAMAllowShortSignals = false;
}
//
// XSI ...
if (xGPUS5MXSIEnableSignaller)
{
//
xGPUS5Provider.DisableXSIShorts();
xGPUS5MXSIAllowShortSignals = false;
}
//
// XTSFI ...
if (xGPUS5MXTSFIEnableSignaller)
{
//
xGPUS5Provider.DisableXTSFIShorts();
xGPUS5MXTSFIAllowShortSignals = false;
}
//
// XOBDLH ...
// if (xGPUS5MXOBDLHEnableSignaller)
// {
// //
// xGPUS5Provider.DisableXOBDLHShorts();
// xGPUS5MXOBDLHAllowShortSignals = false;
// }
//
// XCHMACC ...
if (xGPUS5MXCHMACCEnableSignaller)
{
//
xGPUS5Provider.DisableXCHMACCShorts();
xGPUS5MXCHMACCAllowShortSignals = false;
}
//
// XCHMAMX ...
// if (xGPUS5MXCHMAMXEnableSignaller)
// {
// //
// xGPUS5Provider.DisableXCHMAMXShorts();
// xGPUS5MXCHMAMXAllowShortSignals = false;
// }
//
// XCHMAMN ...
// if (xGPUS5MXCHMAMNEnableSignaller)
// {
// //
// xGPUS5Provider.DisableXCHMAMNShorts();
// xGPUS5MXCHMAMNAllowShortSignals = false;
// }
}
//
// Enable All Signallers Shorts ...
// Only if they are Configured as Enable at Settings ...
void XGPUS5EnableShortSignallers()
{
//
// XTD ...
if (xGPUS5MXTDEnableSignaller)
{
//
xGPUS5MXTDAllowShortSignals =
xGPUS5XTDAllowShortSignals
? true
: xGPUS5MXTDAllowShortSignals;
//
if (xGPUS5MXTDAllowShortSignals)
{
xGPUS5Provider.EnableXTDShorts();
}
}
//
// XTAM ...
if (xGPUS5MXTAMEnableSignaller)
{
//
xGPUS5MXTAMAllowShortSignals =
xGPUS5XTAMAllowShortSignals
? true
: xGPUS5MXTAMAllowShortSignals;
//
if (xGPUS5MXTAMAllowShortSignals)
{
xGPUS5Provider.EnableXTAMShorts();
}
}
//
// XSI ...
if (xGPUS5MXSIEnableSignaller)
{
//
xGPUS5MXSIAllowShortSignals =
xGPUS5XSIAllowShortSignals
? true
: xGPUS5MXSIAllowShortSignals;
//
if (xGPUS5MXSIAllowShortSignals)
{
xGPUS5Provider.EnableXSIShorts();
}
}
//
// XTSFI ...
if (xGPUS5MXTSFIEnableSignaller)
{
//
xGPUS5MXTSFIAllowShortSignals =
xGPUS5XTSFIAllowShortSignals
? true
: xGPUS5MXTSFIAllowShortSignals;
//
if (xGPUS5MXTSFIAllowShortSignals)
{
xGPUS5Provider.EnableXTSFIShorts();
}
}
//
// XOBDLH ...
// if (xGPUS5MXOBDLHEnableSignaller)
// {
// //
// xGPUS5MXOBDLHAllowShortSignals =
// xGPUS5XOBDLHAllowShortSignals
// ? true
// : xGPUS5MXOBDLHAllowShortSignals;
// //
// if (xGPUS5MXOBDLHAllowShortSignals)
// {
// xGPUS5Provider.EnableXOBDLHShorts();
// }
// }
//
// XCHMACC ...
if (xGPUS5MXCHMACCEnableSignaller)
{
//
xGPUS5MXCHMACCAllowShortSignals =
xGPUS5XCHMACCAllowShortSignals
? true
: xGPUS5MXCHMACCAllowShortSignals;
//
if (xGPUS5MXCHMACCAllowShortSignals)
{
xGPUS5Provider.EnableXCHMACCShorts();
}
}
//
// XCHMAMX ...
// if (xGPUS5MXCHMAMXEnableSignaller)
// {
// //
// xGPUS5MXCHMAMXAllowShortSignals =
// xGPUS5XCHMAMXAllowShortSignals
// ? true
// : xGPUS5MXCHMAMXAllowShortSignals;
// //
// if (xGPUS5MXCHMAMXAllowShortSignals)
// {
// xGPUS5Provider.EnableXCHMAMXShorts();
// }
// }
//
// XCHMAMN ...
// if (xGPUS5MXCHMAMNEnableSignaller)
// {
// //
// xGPUS5MXCHMAMNAllowShortSignals =
// xGPUS5XCHMAMNAllowShortSignals
// ? true
// : xGPUS5MXCHMAMNAllowShortSignals;
// //
// if (xGPUS5MXCHMAMNAllowShortSignals)
// {
// xGPUS5Provider.EnableXCHMAMNShorts();
// }
// }
}
//
//
//
//
// XTD Long Signal Checking ...
bool XGPUS5XTDHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXTDEnableSignaller ||
!xGPUS5MXTDAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XTDHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTD Long ...
// Resolve Stop Outs ...
(
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBearishVale &&
mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTMNeutural &&
mConditions.isXTMEndBullish)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXAMABearish &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXTDBearishVale) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
((mConditions.isXFIUnderZero &&
mConditions.isXFICrossedUnderZero) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXAMAStartBullish)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBearishVale &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMax) &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTSCurrentMax &&
(
//
mConditions.isXAMAStartBullish
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXTSCurrentCrossedOverNearest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale)
//
||
//
(mConditions.isXTDBearishVale &&
mConditions.isXTMStartBullish)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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 Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXFIOverZero &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXCHLHMCLCHHSame &&
(mConditions.isXCHMAMCTrendsDown &&
(mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow)))
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBearishVale &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHHighAttachedHH) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
(mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
mConditions.isXRSICrossedOverLongExit
//
||
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax) &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedOverBear &&
(
//
((mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH) &&
(
//
mConditions.isXTSAllSame
//
||
//
mConditions.isXTSCurrentMin
//
||
//
mConditions.isXTSCurrentMax
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
mConditions.isXRSICrossedOverLongExit
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
(mConditions.isXCHLHSameHHs ||
mConditions.isXCHLHSCMCHHSame))
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
||
//
// 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 Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
mConditions.isXRSICrossedOverLongExit
//
||
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTD Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTD Short Signal Checking ...
bool XGPUS5XTDHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXTDEnableSignaller ||
!xGPUS5MXTDAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XTDHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTD Short ...
// Resolve Stop Outs ...
(
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTD Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTD Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTAM Long Signal Checking ...
bool XGPUS5XTAMHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXTAMEnableSignaller ||
!xGPUS5MXTAMAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XTAMHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTAM Long ...
// Resolve Stop Outs ...
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTAM Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTAM Short Signal Checking ...
bool XGPUS5XTAMHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXTAMEnableSignaller ||
!xGPUS5MXTAMAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XTAMHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTAM Short ...
// Resolve Stop Outs ...
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTAM Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XSI Long Signal Checking ...
bool XGPUS5XSIHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXSIEnableSignaller ||
!xGPUS5MXSIAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XSIHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XSI Long ...
// Resolve Stop Outs ...
(
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XSI Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XSI Short Signal Checking ...
bool XGPUS5XSIHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXSIEnableSignaller ||
!xGPUS5MXSIAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XSIHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XSI Short ...
// Resolve Stop Outs ...
(
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XSI Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTSFI Long Signal Checking ...
bool XGPUS5XTSFIHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXTSFIEnableSignaller ||
!xGPUS5MXTSFIAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XTSFIHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTSFI Long ...
// Resolve Stop Outs ...
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTSFI Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTSFI Short Signal Checking ...
bool XGPUS5XTSFIHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXTSFIEnableSignaller ||
!xGPUS5MXTSFIAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XTSFIHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTSFI Short ...
// Resolve Stop Outs ...
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTSFI Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XOBDLH Long Signal Checking ...
bool XGPUS5XOBDLHHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXOBDLHEnableSignaller ||
!xGPUS5MXOBDLHAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XOBDLHHasLongConditions()
//
&&
//
false
//
;
//
return result;
}
//
// XOBDLH Short Signal Checking ...
bool XGPUS5XOBDLHHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXOBDLHEnableSignaller ||
!xGPUS5MXOBDLHAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XOBDLHHasShortConditions()
//
&&
//
false
//
;
//
return result;
}
//
// XCHMACC Long Signal Checking ...
bool XGPUS5XCHMACCHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXCHMACCEnableSignaller ||
!xGPUS5MXCHMACCAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XCHMACCHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XCHMACC Short Signal Checking ...
bool XGPUS5XCHMACCHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXCHMACCEnableSignaller ||
!xGPUS5MXCHMACCAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XCHMACCHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XCHMAMN Long Signal Checking ...
bool XGPUS5XCHMAMNHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXCHMAMNEnableSignaller ||
!xGPUS5MXCHMAMNAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XCHMAMNHasLongConditions()
//
&&
//
false
//
;
//
return result;
}
//
// XCHMAMN Short Signal Checking ...
bool XGPUS5XCHMAMNHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXCHMAMNEnableSignaller ||
!xGPUS5MXCHMAMNAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XCHMAMNHasShortConditions()
//
&&
//
false
//
;
//
return result;
}
//
// XCHMAMX Long Signal Checking ...
bool XGPUS5XCHMAMXHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXCHMAMXEnableSignaller ||
!xGPUS5MXCHMAMXAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XCHMAMXHasLongConditions()
//
&&
//
false
//
;
//
return result;
}
//
// XCHMAMX Short Signal Checking ...
bool XGPUS5XCHMAMXHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xGPUS5MXCHMAMXEnableSignaller ||
!xGPUS5MXCHMAMXAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xGPUS5Provider.XCHMAMXHasShortConditions()
//
&&
//
false
//
;
//
return result;
}
//
// END Signal Providers ...
//