Files
MQL5Data/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5
T

45445 lines
2.0 MiB
Plaintext

///////////////////////////////////////////////////////////////////
//
// SaherElm IT Center MQL5 XUSPY5 Signal Provider Indicators Library
// ----------------------------------------------------------------
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////
//
// Global Properties ...
#property library
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://www.saherelm.ir"
#property version "1.00"
#property strict
//
// Include Provider Inputs ...
#include "x-saherelm.xuspy5.provider.inputs.lib.mq5"
//
// Include Provider Class ...
#include "../Classes/x-saherelm.provider.lib.mq5"
//
// Signallers ...
input group "XUSPY5 Signallers";
//
// XTD ...
input group "XUSPY5 XTD Signaller";
input bool xUSPY5XTDEnableSignaller = true; // Enable Signaller
input bool xUSPY5XTDAllowLongSignals = true; // Enable Long Signals
input bool xUSPY5XTDAllowShortSignals = true; // Enable Short Signals
//
// XTAM ...
input group "XUSPY5 XTAM Signaller";
input bool xUSPY5XTAMEnableSignaller = true; // Enable Signaller
input bool xUSPY5XTAMAllowLongSignals = true; // Enable Long Signals
input bool xUSPY5XTAMAllowShortSignals = true; // Enable Short Signals
//
// XSI ...
input group "XUSPY5 XSI Signaller";
input bool xUSPY5XSIEnableSignaller = true; // Enable Signaller
input bool xUSPY5XSIAllowLongSignals = true; // Enable Long Signals
input bool xUSPY5XSIAllowShortSignals = true; // Enable Short Signals
//
// XTSFI ...
input group "XUSPY5 XTSFI Signaller";
input bool xUSPY5XTSFIEnableSignaller = true; // Enable Signaller
input bool xUSPY5XTSFIAllowLongSignals = true; // Enable Long Signals
input bool xUSPY5XTSFIAllowShortSignals = true; // Enable Short Signals
//
// XOBDLH ...
// input group "XUSPY5 XOBDLH Signaller";
// input bool xUSPY5XOBDLHEnableSignaller = true; // Enable Signaller
// input bool xUSPY5XOBDLHAllowLongSignals = true; // Enable Long Signals
// input bool xUSPY5XOBDLHAllowShortSignals = true; // Enable Short Signals
//
// XCHMACC ...
input group "XUSPY5 XCHMACC Signaller";
input bool xUSPY5XCHMACCEnableSignaller = true; // Enable Signaller
input bool xUSPY5XCHMACCAllowLongSignals = true; // Enable Long Signals
input bool xUSPY5XCHMACCAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMX ...
// input group "XUSPY5 XCHMAMX Signaller";
// input bool xUSPY5XCHMAMXEnableSignaller = true; // Enable Signaller
// input bool xUSPY5XCHMAMXAllowLongSignals = true; // Enable Long Signals
// input bool xUSPY5XCHMAMXAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMN ...
// input group "XUSPY5 XCHMAMN Signaller";
// input bool xUSPY5XCHMAMNEnableSignaller = true; // Enable Signaller
// input bool xUSPY5XCHMAMNAllowLongSignals = true; // Enable Long Signals
// input bool xUSPY5XCHMAMNAllowShortSignals = true; // Enable Short Signals
//
// Check in Test Mode or not ...
bool xUSPY5IsTestMode = false;
//
// Detect max Input Length of Indicators ...
int xUSPY5MaxLengthOfInputs = 0;
//
// Detect Calculated Bars ...
int xUSPY5CalculatedBars = 0;
//
// Check prevent Double Signalling on Same Candle ...
bool xUSPY5WaitUntilNextCandle = false;
//
// Signaller Variables ...
//
// XTD ...
bool xUSPY5MXTDEnableSignaller = xUSPY5XTDEnableSignaller;
bool xUSPY5MXTDAllowLongSignals = xUSPY5XTDAllowLongSignals;
bool xUSPY5MXTDAllowShortSignals = xUSPY5XTDAllowShortSignals;
//
// XTAM ...
bool xUSPY5MXTAMEnableSignaller = xUSPY5XTAMEnableSignaller;
bool xUSPY5MXTAMAllowLongSignals = xUSPY5XTAMAllowLongSignals;
bool xUSPY5MXTAMAllowShortSignals = xUSPY5XTAMAllowShortSignals;
//
// XSI ...
bool xUSPY5MXSIEnableSignaller = xUSPY5XSIEnableSignaller;
bool xUSPY5MXSIAllowLongSignals = xUSPY5XSIAllowLongSignals;
bool xUSPY5MXSIAllowShortSignals = xUSPY5XSIAllowShortSignals;
//
// XTSFI ...
bool xUSPY5MXTSFIEnableSignaller = xUSPY5XTSFIEnableSignaller;
bool xUSPY5MXTSFIAllowLongSignals = xUSPY5XTSFIAllowLongSignals;
bool xUSPY5MXTSFIAllowShortSignals = xUSPY5XTSFIAllowShortSignals;
//
// XOBDLH ...
bool xUSPY5MXOBDLHEnableSignaller = false; // xUSPY5XOBDLHEnableSignaller;
bool xUSPY5MXOBDLHAllowLongSignals = false; // xUSPY5XOBDLHAllowLongSignals;
bool xUSPY5MXOBDLHAllowShortSignals = false; // xUSPY5XOBDLHAllowShortSignals;
//
// XCHMACC ...
bool xUSPY5MXCHMACCEnableSignaller = xUSPY5XCHMACCEnableSignaller;
bool xUSPY5MXCHMACCAllowLongSignals = xUSPY5XCHMACCAllowLongSignals;
bool xUSPY5MXCHMACCAllowShortSignals = xUSPY5XCHMACCAllowShortSignals;
//
// XCHMAMX ...
bool xUSPY5MXCHMAMXEnableSignaller = false; // xUSPY5XCHMAMXEnableSignaller;
bool xUSPY5MXCHMAMXAllowLongSignals = false; // xUSPY5XCHMAMXAllowLongSignals;
bool xUSPY5MXCHMAMXAllowShortSignals = false; // xUSPY5XCHMAMXAllowShortSignals;
//
// XCHMAMN ...
bool xUSPY5MXCHMAMNEnableSignaller = false; // xUSPY5XCHMAMNEnableSignaller;
bool xUSPY5MXCHMAMNAllowLongSignals = false; // xUSPY5XCHMAMNAllowLongSignals;
bool xUSPY5MXCHMAMNAllowShortSignals = false; // xUSPY5XCHMAMNAllowShortSignals;
//
XCProvider *xUSPY5Provider;
//
// Validate Indicators Inputs ...
bool XUSPY5ValidateIndicatorsInputs()
{
//
bool result = false;
//
// XTM ...
result = XTMValidateInputs();
if (!result)
{
return result;
}
//
// XAMA ...
result = XAMAValidateInputs();
if (!result)
{
return result;
}
//
// XTD ...
result = XTDValidateInputs();
if (!result)
{
return result;
}
//
// XFI ...
result = XFIValidateInputs();
if (!result)
{
return result;
}
//
// XTS ...
result = XTSValidateInputs();
if (!result)
{
return result;
}
//
// XOBD ...
result = XOBDValidateInputs();
if (!result)
{
return result;
}
//
// XLH ...
result = XLHValidateInputs();
if (!result)
{
return result;
}
//
// XRSI ...
result = XRSIValidateInputs();
if (!result)
{
return result;
}
//
// XCHLH ...
result = XCHLHValidateInputs();
if (!result)
{
return result;
}
//
// XCHMA ...
result = XCHMAValidateInputs();
if (!result)
{
return result;
}
//
// Make an Instance Of XCProvider Class for Use ...
xUSPY5Provider = new XCProvider(
//
// Commons ...
_Symbol,
_Period,
//
// Signallers ...
//
// XTD ...
xUSPY5MXTDEnableSignaller,
xUSPY5MXTDAllowLongSignals,
xUSPY5MXTDAllowShortSignals,
//
// XTAM ...
xUSPY5MXTAMEnableSignaller,
xUSPY5MXTAMAllowLongSignals,
xUSPY5MXTAMAllowShortSignals,
//
// XSI ...
xUSPY5MXSIEnableSignaller,
xUSPY5MXSIAllowLongSignals,
xUSPY5MXSIAllowShortSignals,
//
// XTSFI ...
xUSPY5MXTSFIEnableSignaller,
xUSPY5MXTSFIAllowLongSignals,
xUSPY5MXTSFIAllowShortSignals,
//
// XOBDLH ...
xUSPY5MXOBDLHEnableSignaller,
xUSPY5MXOBDLHAllowLongSignals,
xUSPY5MXOBDLHAllowShortSignals,
//
// XCHMACC ...
xUSPY5MXCHMACCEnableSignaller,
xUSPY5MXCHMACCAllowLongSignals,
xUSPY5MXCHMACCAllowShortSignals,
//
// XCHMAMX ...
xUSPY5MXCHMAMXEnableSignaller,
xUSPY5MXCHMAMXAllowLongSignals,
xUSPY5MXCHMAMXAllowShortSignals,
//
// XCHMAMN ...
xUSPY5MXCHMAMNEnableSignaller,
xUSPY5MXCHMAMNAllowLongSignals,
xUSPY5MXCHMAMNAllowShortSignals
//
);
//
result = true;
//
return result;
}
//
// Init Indicators ...
bool XUSPY5InitIndicators()
{
//
bool result = false;
//
// Make it Enable when we need to Log Market Conditions ...
xUSPY5IsTestMode = IsRunningOnTestMode();
//
// Check and Calculate Max Length in Inputs ...
//
//
// XTM ...
xUSPY5MaxLengthOfInputs = MathMax(
xTMMaPeriod,
xUSPY5NumberOfItemsPerTick);
//
// XAMA ...
xUSPY5MaxLengthOfInputs = MathMax(
xAMALength,
xUSPY5NumberOfItemsPerTick);
xUSPY5MaxLengthOfInputs = MathMax(
xAMAFastEMA,
xUSPY5NumberOfItemsPerTick);
xUSPY5MaxLengthOfInputs = MathMax(
xAMASlowEMA,
xUSPY5NumberOfItemsPerTick);
//
// XLH ...
xUSPY5MaxLengthOfInputs = MathMax(
xLHLength,
xUSPY5NumberOfItemsPerTick);
//
// XTD ...
xUSPY5MaxLengthOfInputs = MathMax(
xTDLength,
xUSPY5MaxLengthOfInputs);
//
// XFI ...
xUSPY5MaxLengthOfInputs = MathMax(
xFILength,
xUSPY5MaxLengthOfInputs);
//
// XRSI ...
xUSPY5MaxLengthOfInputs = MathMax(
xRSILength,
xUSPY5MaxLengthOfInputs);
//
// XOBD ...
xUSPY5MaxLengthOfInputs = MathMax(
xOBDLength,
xUSPY5MaxLengthOfInputs);
//
// XCHLH ...
xUSPY5MaxLengthOfInputs = MathMax(
xCHLHLcLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHLHMcLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHLHScLength,
xUSPY5MaxLengthOfInputs);
//
// XCHMA ...
xUSPY5MaxLengthOfInputs = MathMax(
xCHMAScFastLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHMAScSlowLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHMAMcFastLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHMAMcSlowLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHMALcFastLength,
xUSPY5MaxLengthOfInputs);
xUSPY5MaxLengthOfInputs = MathMax(
xCHMALcSlowLength,
xUSPY5MaxLengthOfInputs);
//
// Validate Indicators Inputs before Initialization ...
result = XUSPY5ValidateIndicatorsInputs();
if (!result)
{
return result;
}
//
// Validate Signallers ...
//
// XTD ...
bool isXTDEnable =
xUSPY5XTDEnableSignaller &&
(xUSPY5XTDAllowLongSignals ||
xUSPY5XTDAllowShortSignals);
//
// XTAM ...
bool isXTAMEnable =
xUSPY5XTAMEnableSignaller &&
(xUSPY5XTAMAllowLongSignals ||
xUSPY5XTAMAllowShortSignals);
//
// XSI ...
bool isXSIEnable =
xUSPY5XSIEnableSignaller &&
(xUSPY5XSIAllowLongSignals ||
xUSPY5XSIAllowShortSignals);
//
// XTSFI ...
bool isXTSFIEnable =
xUSPY5XTSFIEnableSignaller &&
(xUSPY5XTSFIAllowLongSignals ||
xUSPY5XTSFIAllowShortSignals);
//
// XOBDLH ...
bool isXOBDLHEnable = false;
// xUSPY5XOBDLHEnableSignaller &&
// (xUSPY5XOBDLHAllowLongSignals ||
// xUSPY5XOBDLHAllowShortSignals);
//
// XCHMACC ...
bool isXCHMACCEnable =
xUSPY5XCHMACCEnableSignaller &&
(xUSPY5XCHMACCAllowLongSignals ||
xUSPY5XCHMACCAllowShortSignals);
//
// XCHMAMX ...
bool isXCHMAMXEnable = false;
// xUSPY5XCHMAMXEnableSignaller &&
// (xUSPY5XCHMAMXAllowLongSignals ||
// xUSPY5XCHMAMXAllowShortSignals);
//
// XCHMAMN ...
bool isXCHMAMNEnable = false;
// xUSPY5XCHMAMNEnableSignaller &&
// (xUSPY5XCHMAMNAllowLongSignals ||
// xUSPY5XCHMAMNAllowShortSignals);
//
bool hasSignaller =
//
isXTDEnable ||
isXTAMEnable ||
isXSIEnable ||
isXTSFIEnable ||
isXOBDLHEnable ||
isXCHMACCEnable ||
isXCHMAMXEnable ||
isXCHMAMNEnable
//
;
result = hasSignaller;
if (!result)
{
//
LogMessage("XUSPY5 doesn't enable any Signaller ...");
//
return result;
}
//
// Initialize Indicator/Oscillator Handlers ...
ResetLastError();
//
// XTM Init ...
result = XTMInitHandlers();
if (!result)
{
return result;
}
//
// XAMA Init ...
result = XAMAInitHandlers();
if (!result)
{
return result;
}
//
// XLH Init ...
result = XLHInitHandlers();
if (!result)
{
return result;
}
//
// XTD Init ...
result = XTDInitHandlers();
if (!result)
{
return result;
}
//
// XFI Init ...
result = XFIInitHandlers();
if (!result)
{
return result;
}
//
// XTS Init ...
result = XTSInitHandlers();
if (!result)
{
return result;
}
//
// XRSI Init ...
result = XRSIInitHandlers();
if (!result)
{
return result;
}
//
// XOBD Init ...
result = XOBDInitHandlers();
if (!result)
{
return result;
}
//
// XCLH Init ...
result = XCHLHInitHandlers();
if (!result)
{
return result;
}
//
// XCHMA Init ...
result = XCHMAInitHandlers();
if (!result)
{
return result;
}
//
result = true;
//
return result;
}
//
// Release Indicators ...
void XUSPY5ReleaseIndicators()
{
//
// Release Handlers ...
XTMReleaseHandlers();
XAMAReleaseHandlers();
XLHReleaseHandlers();
XTDReleaseHandlers();
XFIReleaseHandlers();
XTSReleaseHandlers();
XRSIReleaseHandlers();
XOBDReleaseHandlers();
XCHMAReleaseHandlers();
XCHLHReleaseHandlers();
}
//
// Handle Reading Buffers ...
void XUSPY5HandleReadingBuffers()
{
//
// Reading Calculated Bars for a Simple Handler ...
xUSPY5CalculatedBars = BarsCalculated(xTMHandler);
//
// Read Indicators Buffers ...
XTMReadBuffers(xUSPY5NumberOfItemsPerTick);
XAMAReadBuffers(xUSPY5NumberOfItemsPerTick);
XLHReadBuffers(xUSPY5NumberOfItemsPerTick);
XTDReadBuffers(xUSPY5NumberOfItemsPerTick);
XFIReadBuffers(xUSPY5NumberOfItemsPerTick);
XTSReadBuffers(xUSPY5NumberOfItemsPerTick);
XRSIReadBuffers(xUSPY5NumberOfItemsPerTick);
XOBDReadBuffers(xUSPY5NumberOfItemsPerTick);
XCHMAReadBuffers(xUSPY5NumberOfItemsPerTick);
XCHLHReadBuffers(xUSPY5NumberOfItemsPerTick);
//
xUSPY5Provider.ReadConditions();
}
//
//
// START Combination Functions ...
//
//
//
// Can Open Long Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Long Signals ...
bool XUSPY5CanOpenLongTrade(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
info.tp = 0;
info.sl = 0;
ArrayResize(
info.signallers,
0);
//
bool hasSignal = XUSPY5HasLongSignal(info);
//
result =
//
hasSignal
//
;
//
if (result)
{
xUSPY5Provider.ClearConditions();
}
//
return result;
}
//
// Can Close Long Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Long Signals ...
bool XUSPY5CanCloseLongTrade()
{
//
bool result = false;
//
return result;
}
//
// Can Open Short Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Short Signals ...
bool XUSPY5CanOpenShortTrade(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
info.tp = 0;
info.sl = 0;
ArrayResize(
info.signallers,
0);
//
bool hasSignal = XUSPY5HasShortSignal(info);
//
result =
//
hasSignal
//
;
//
if (result)
{
xUSPY5Provider.ClearConditions();
}
//
return result;
}
//
// Can Close Short Trade ...
// this is a Function will Check all market Conditions and get all
// Strategy requirement Verifications for Short Signals ...
bool XUSPY5CanCloseShortTrade()
{
//
bool result = false;
//
return result;
}
//
//
// END Combination Functions ...
//
//
//
//
// START Combination Signaling ...
//
//
//
// Check Market Conditions by Combination of Power of All tools for LONGs ...
bool XUSPY5HasLongSignal(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
// XTD ...
bool isXTDHasSignal = XUSPY5XTDHasLongSignal();
if (isXTDHasSignal)
{
//
Add(
EnumToString(XTD),
info.signallers);
}
//
// XTAM ...
bool isXTAMHasSignal = XUSPY5XTAMHasLongSignal();
if (isXTAMHasSignal)
{
//
Add(
EnumToString(XTAM),
info.signallers);
}
//
// XSI ...
bool isXSIHasSignal = XUSPY5XSIHasLongSignal();
if (isXSIHasSignal)
{
//
Add(
EnumToString(XSI),
info.signallers);
}
//
// XTSFI ...
bool isXTSFIHasSignal = XUSPY5XTSFIHasLongSignal();
if (isXTSFIHasSignal)
{
//
Add(
EnumToString(XTSFI),
info.signallers);
}
//
// XOBD XLH ...
bool isXOBDLHHasSignal = XUSPY5XOBDLHHasLongSignal();
if (isXOBDLHHasSignal)
{
//
Add(
EnumToString(XOBDLH),
info.signallers);
}
//
// XCHMA Cycles Cross ...
bool isXCHMACCHasSignal = XUSPY5XCHMACCHasLongSignal();
if (isXCHMACCHasSignal)
{
//
Add(
EnumToString(XCHMACC),
info.signallers);
}
//
// XCHMA Cycles Min ...
bool isXCHMAMNHasSignal = XUSPY5XCHMAMNHasLongSignal();
if (isXCHMAMNHasSignal)
{
//
Add(
EnumToString(XCHMAMN),
info.signallers);
}
//
// XCHMA Cycles Max
bool isXCHMAMXHasSignal = XUSPY5XCHMAMXHasLongSignal();
if (isXCHMAMXHasSignal)
{
//
Add(
EnumToString(XCHMAMX),
info.signallers);
}
//
result =
//
isXTDHasSignal
//
||
//
isXTAMHasSignal
//
||
//
isXSIHasSignal
//
||
//
isXTSFIHasSignal
//
||
//
isXOBDLHHasSignal
//
||
//
isXCHMACCHasSignal
//
||
//
isXCHMAMNHasSignal
//
||
//
isXCHMAMXHasSignal
//
;
//
if (result)
{
//
// Only Log Signals Time Market Conditions if is in Testing Mode ...
if (xUSPY5IsTestMode || xUSPY5EnableSignalAlerts)
{
//
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
string message = xUSPY5Provider.GenerateConditionsString(mConditions);
//
LogMessage(
"Long Signal Provided by: \n" +
info.signallers[ArraySize(info.signallers) - 1] + "\n" +
"Pusher: " + (string)ArraySize(info.signallers) + "\n" +
"Market Conditions: " + message);
}
}
//
return result;
}
//
// Check Market Conditions by Combination of Power of All tools for SHORTs ...
bool XUSPY5HasShortSignal(
XProvidedSignal &info // Retrieve Signal Additional Info on this Object
)
{
//
bool result = false;
//
// XTD ...
bool isXTDHasSignal = XUSPY5XTDHasShortSignal();
if (isXTDHasSignal)
{
//
Add(
EnumToString(XTD),
info.signallers);
}
//
// XTAM ...
bool isXTAMHasSignal = XUSPY5XTAMHasShortSignal();
if (isXTAMHasSignal)
{
//
Add(
EnumToString(XTAM),
info.signallers);
}
//
// XSI ...
bool isXSIHasSignal = XUSPY5XSIHasShortSignal();
if (isXSIHasSignal)
{
//
Add(
EnumToString(XSI),
info.signallers);
}
//
// XTSFI ...
bool isXTSFIHasSignal = XUSPY5XTSFIHasShortSignal();
if (isXTSFIHasSignal)
{
//
Add(
EnumToString(XTSFI),
info.signallers);
}
//
// XOBD XLH ...
bool isXOBDLHHasSignal = XUSPY5XOBDLHHasShortSignal();
if (isXOBDLHHasSignal)
{
//
Add(
EnumToString(XOBDLH),
info.signallers);
}
//
// XCHMA Cycles Cross ...
bool isXCHMACCHasSignal = XUSPY5XCHMACCHasShortSignal();
if (isXCHMACCHasSignal)
{
//
Add(
EnumToString(XCHMACC),
info.signallers);
}
//
// XCHMA Cycles Min ...
bool isXCHMAMNHasSignal = XUSPY5XCHMAMNHasShortSignal();
if (isXCHMAMNHasSignal)
{
//
Add(
EnumToString(XCHMAMN),
info.signallers);
}
//
// XCHMA Cycles Max
bool isXCHMAMXHasSignal = XUSPY5XCHMAMXHasShortSignal();
if (isXCHMAMXHasSignal)
{
//
Add(
EnumToString(XCHMAMX),
info.signallers);
}
//
result =
//
isXTDHasSignal
//
||
//
isXTAMHasSignal
//
||
//
isXSIHasSignal
//
||
//
isXTSFIHasSignal
//
||
//
isXOBDLHHasSignal
//
||
//
isXCHMACCHasSignal
//
||
//
isXCHMAMNHasSignal
//
||
//
isXCHMAMXHasSignal
//
;
//
if (result)
{
//
// Only Log Signals Time Market Conditions if is in Testing Mode ...
if (xUSPY5IsTestMode || xUSPY5EnableSignalAlerts)
{
//
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
string message = xUSPY5Provider.GenerateConditionsString(mConditions);
//
LogMessage(
"Short Signal Provided by: \n" +
info.signallers[ArraySize(info.signallers) - 1] + "\n" +
"Pusher: " + (string)ArraySize(info.signallers) + "\n" +
"Market Conditions: " + message);
}
}
//
return result;
}
//
//
// END Combination Signaling ...
//
//
//
// START Signal Providers ...
//
//
// Disbale All Signallers Longs ...
void XUSPY5DisableLongSignallers()
{
//
// XTD ...
if (xUSPY5MXTDEnableSignaller)
{
//
xUSPY5Provider.DisbaleXTDLongs();
xUSPY5MXTDAllowLongSignals = false;
}
//
// XTAM ...
if (xUSPY5MXTAMEnableSignaller)
{
//
xUSPY5Provider.DisbaleXTAMLongs();
xUSPY5MXTAMAllowLongSignals = false;
}
//
// XSI ...
if (xUSPY5MXSIEnableSignaller)
{
//
xUSPY5Provider.DisbaleXSILongs();
xUSPY5MXSIAllowLongSignals = false;
}
//
// XTSFI ...
if (xUSPY5MXTSFIEnableSignaller)
{
//
xUSPY5Provider.DisbaleXTSFILongs();
xUSPY5MXTSFIAllowLongSignals = false;
}
//
// XOBDLH ...
// if (xUSPY5MXOBDLHEnableSignaller)
// {
// //
// xUSPY5Provider.DisbaleXOBDLHLongs();
// xUSPY5MXOBDLHAllowLongSignals = false;
// }
//
// XCHMACC ...
if (xUSPY5MXCHMACCEnableSignaller)
{
//
xUSPY5Provider.DisbaleXCHMACCLongs();
xUSPY5MXCHMACCAllowLongSignals = false;
}
//
// XCHMAMX ...
// if (xUSPY5MXCHMAMXEnableSignaller)
// {
// //
// xUSPY5Provider.DisbaleXCHMAMXLongs();
// xUSPY5MXCHMAMXAllowLongSignals = false;
// }
//
// XCHMAMN ...
// if (xUSPY5MXCHMAMNEnableSignaller)
// {
// //
// xUSPY5Provider.DisbaleXCHMAMNLongs();
// xUSPY5MXCHMAMNAllowLongSignals = false;
// }
}
//
// Enable All Signallers Longs ...
// Only if they are Configured as Enable at Settings ...
void XUSPY5EnableLongSignallers()
{
//
// XTD ...
if (xUSPY5MXTDEnableSignaller)
{
//
xUSPY5MXTDAllowLongSignals =
xUSPY5XTDAllowLongSignals
? true
: xUSPY5MXTDAllowLongSignals;
//
if (xUSPY5MXTDAllowLongSignals)
{
xUSPY5Provider.EnableXTDLongs();
}
}
//
// XTAM ...
if (xUSPY5MXTAMEnableSignaller)
{
//
xUSPY5MXTAMAllowLongSignals =
xUSPY5XTAMAllowLongSignals
? true
: xUSPY5MXTAMAllowLongSignals;
//
if (xUSPY5MXTAMAllowLongSignals)
{
xUSPY5Provider.EnableXTAMLongs();
}
}
//
// XSI ...
if (xUSPY5MXSIEnableSignaller)
{
//
xUSPY5MXSIAllowLongSignals =
xUSPY5XSIAllowLongSignals
? true
: xUSPY5MXSIAllowLongSignals;
//
if (xUSPY5MXSIAllowLongSignals)
{
xUSPY5Provider.EnableXSILongs();
}
}
//
// XTSFI ...
if (xUSPY5MXTSFIEnableSignaller)
{
//
xUSPY5MXTSFIAllowLongSignals =
xUSPY5XTSFIAllowLongSignals
? true
: xUSPY5MXTSFIAllowLongSignals;
//
if (xUSPY5MXTSFIAllowLongSignals)
{
xUSPY5Provider.EnableXTSFILongs();
}
}
//
// XOBDLH ...
// if (xUSPY5MXOBDLHEnableSignaller)
// {
// //
// xUSPY5MXOBDLHAllowLongSignals =
// xUSPY5XOBDLHAllowLongSignals
// ? true
// : xUSPY5MXOBDLHAllowLongSignals;
// //
// if (xUSPY5MXOBDLHAllowLongSignals)
// {
// xUSPY5Provider.EnableXOBDLHLongs();
// }
// }
//
// XCHMACC ...
if (xUSPY5MXCHMACCEnableSignaller)
{
//
xUSPY5MXCHMACCAllowLongSignals =
xUSPY5XCHMACCAllowLongSignals
? true
: xUSPY5MXCHMACCAllowLongSignals;
//
if (xUSPY5MXCHMACCAllowLongSignals)
{
xUSPY5Provider.EnableXCHMACCLongs();
}
}
//
// XCHMAMX ...
// if (xUSPY5MXCHMAMXEnableSignaller)
// {
// //
// xUSPY5MXCHMAMXAllowLongSignals =
// xUSPY5XCHMAMXAllowLongSignals
// ? true
// : xUSPY5MXCHMAMXAllowLongSignals;
// //
// if (xUSPY5MXCHMAMXAllowLongSignals)
// {
// xUSPY5Provider.EnableXCHMAMXLongs();
// }
// }
//
// XCHMAMN ...
// if (xUSPY5MXCHMAMNEnableSignaller)
// {
// //
// xUSPY5MXCHMAMNAllowLongSignals =
// xUSPY5XCHMAMNAllowLongSignals
// ? true
// : xUSPY5MXCHMAMNAllowLongSignals;
// //
// if (xUSPY5MXCHMAMNAllowLongSignals)
// {
// xUSPY5Provider.EnableXCHMAMNLongs();
// }
// }
}
//
// Disable All Signallers Shorts ...
void XUSPY5DisableShortSignallers()
{
//
// XTD ...
if (xUSPY5MXTDEnableSignaller)
{
//
xUSPY5Provider.DisableXTDShorts();
xUSPY5MXTDAllowShortSignals = false;
}
//
// XTAM ...
if (xUSPY5MXTAMEnableSignaller)
{
//
xUSPY5Provider.DisableXTAMShorts();
xUSPY5MXTAMAllowShortSignals = false;
}
//
// XSI ...
if (xUSPY5MXSIEnableSignaller)
{
//
xUSPY5Provider.DisableXSIShorts();
xUSPY5MXSIAllowShortSignals = false;
}
//
// XTSFI ...
if (xUSPY5MXTSFIEnableSignaller)
{
//
xUSPY5Provider.DisableXTSFIShorts();
xUSPY5MXTSFIAllowShortSignals = false;
}
//
// XOBDLH ...
// if (xUSPY5MXOBDLHEnableSignaller)
// {
// //
// xUSPY5Provider.DisableXOBDLHShorts();
// xUSPY5MXOBDLHAllowShortSignals = false;
// }
//
// XCHMACC ...
if (xUSPY5MXCHMACCEnableSignaller)
{
//
xUSPY5Provider.DisableXCHMACCShorts();
xUSPY5MXCHMACCAllowShortSignals = false;
}
//
// XCHMAMX ...
// if (xUSPY5MXCHMAMXEnableSignaller)
// {
// //
// xUSPY5Provider.DisableXCHMAMXShorts();
// xUSPY5MXCHMAMXAllowShortSignals = false;
// }
//
// XCHMAMN ...
// if (xUSPY5MXCHMAMNEnableSignaller)
// {
// //
// xUSPY5Provider.DisableXCHMAMNShorts();
// xUSPY5MXCHMAMNAllowShortSignals = false;
// }
}
//
// Enable All Signallers Shorts ...
// Only if they are Configured as Enable at Settings ...
void XUSPY5EnableShortSignallers()
{
//
// XTD ...
if (xUSPY5MXTDEnableSignaller)
{
//
xUSPY5MXTDAllowShortSignals =
xUSPY5XTDAllowShortSignals
? true
: xUSPY5MXTDAllowShortSignals;
//
if (xUSPY5MXTDAllowShortSignals)
{
xUSPY5Provider.EnableXTDShorts();
}
}
//
// XTAM ...
if (xUSPY5MXTAMEnableSignaller)
{
//
xUSPY5MXTAMAllowShortSignals =
xUSPY5XTAMAllowShortSignals
? true
: xUSPY5MXTAMAllowShortSignals;
//
if (xUSPY5MXTAMAllowShortSignals)
{
xUSPY5Provider.EnableXTAMShorts();
}
}
//
// XSI ...
if (xUSPY5MXSIEnableSignaller)
{
//
xUSPY5MXSIAllowShortSignals =
xUSPY5XSIAllowShortSignals
? true
: xUSPY5MXSIAllowShortSignals;
//
if (xUSPY5MXSIAllowShortSignals)
{
xUSPY5Provider.EnableXSIShorts();
}
}
//
// XTSFI ...
if (xUSPY5MXTSFIEnableSignaller)
{
//
xUSPY5MXTSFIAllowShortSignals =
xUSPY5XTSFIAllowShortSignals
? true
: xUSPY5MXTSFIAllowShortSignals;
//
if (xUSPY5MXTSFIAllowShortSignals)
{
xUSPY5Provider.EnableXTSFIShorts();
}
}
//
// XOBDLH ...
// if (xUSPY5MXOBDLHEnableSignaller)
// {
// //
// xUSPY5MXOBDLHAllowShortSignals =
// xUSPY5XOBDLHAllowShortSignals
// ? true
// : xUSPY5MXOBDLHAllowShortSignals;
// //
// if (xUSPY5MXOBDLHAllowShortSignals)
// {
// xUSPY5Provider.EnableXOBDLHShorts();
// }
// }
//
// XCHMACC ...
if (xUSPY5MXCHMACCEnableSignaller)
{
//
xUSPY5MXCHMACCAllowShortSignals =
xUSPY5XCHMACCAllowShortSignals
? true
: xUSPY5MXCHMACCAllowShortSignals;
//
if (xUSPY5MXCHMACCAllowShortSignals)
{
xUSPY5Provider.EnableXCHMACCShorts();
}
}
//
// XCHMAMX ...
// if (xUSPY5MXCHMAMXEnableSignaller)
// {
// //
// xUSPY5MXCHMAMXAllowShortSignals =
// xUSPY5XCHMAMXAllowShortSignals
// ? true
// : xUSPY5MXCHMAMXAllowShortSignals;
// //
// if (xUSPY5MXCHMAMXAllowShortSignals)
// {
// xUSPY5Provider.EnableXCHMAMXShorts();
// }
// }
//
// XCHMAMN ...
// if (xUSPY5MXCHMAMNEnableSignaller)
// {
// //
// xUSPY5MXCHMAMNAllowShortSignals =
// xUSPY5XCHMAMNAllowShortSignals
// ? true
// : xUSPY5MXCHMAMNAllowShortSignals;
// //
// if (xUSPY5MXCHMAMNAllowShortSignals)
// {
// xUSPY5Provider.EnableXCHMAMNShorts();
// }
// }
}
//
//
//
//
// XTD Long Signal Checking ...
bool XUSPY5XTDHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXTDEnableSignaller ||
!xUSPY5MXTDAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XTDHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Long ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalCrossedOverBear &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTSCurrentUnderNearest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXCHMAMCVale &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXTDBearishVale) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXRSICrossedOverLongExit &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXLHHHDecreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXAMAStartBullish &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedOverBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTDBearishVale)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Long ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTDBearishVale &&
mConditions.isXTMStartBullish &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
((mConditions.isXTDBearishVale &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCHHSame)
//
||
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXAMAStartBullish &&
mConditions.isXCHMASCFastCrossedOverSlow)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTDBearishVale &&
mConditions.isXTMStartBullish &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTDBearishVale)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTDBearishVale &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXTMNeutural &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTDBearishVale)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Long ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXTSCurrentCrossedUnderNearest &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXTDBearishVale)
//
||
//
(mConditions.isXLHHHDecreased &&
mConditions.isXAMAStartBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTMNeutural ||
mConditions.isXTMEndBullish) &&
(
//
(mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMin)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Over Slow ...
((mConditions.isXCHMALCTrendsDown ||
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale)
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXCHLHSameHHs &&
(
//
(
//
mConditions.isXLHHighAttachedHH
//
||
//
(mConditions.isXLHLLSameInLength &&
mConditions.isXRSICrossedOverLongExit)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedOverBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHHighAttachedHH) &&
(
//
mConditions.isXCHLHSameHHs
//
||
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Long ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Long ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Long ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Long ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Long ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
// XTD Long ...
// Resolve Guard Attacks ...
||
//
(
//
// XTD Long ...
// isXTSCurrentUnderNearest
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
mConditions.isXTSCurrentCrossedUnderFarest
//
||
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHMAMCFastUnderSlow)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceInSignalRange)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHHHSameInLength &&
mConditions.isXCHMALCFastUnderSlow)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTSCurrentCrossedUnderMediest &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTDBearishVale)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXCHMALCFastUnderSlow)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXLHPriceOverSignal &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMAMCVale &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
mConditions.isXLHPriceUnderSignal
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXCHMALCPeak &&
(
//
mConditions.isXLHPriceInSignalRange
//
||
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXCHMASCOverMax &&
mConditions.isXLHLLSameInLength) &&
(
//
mConditions.isXCHLHSCMCHHSame
//
||
//
mConditions.isXLHHHSameInLength
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMALCVale &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
mConditions.isXLHHHSameInLength
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(mConditions.isXCHMASCOverMax &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
mConditions.isXLHLLIncreased
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXLHLLSameInLength &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
||
//
(mConditions.isXCHLHSameHHs &&
(
//
mConditions.isXLHLLSameInLength
//
||
//
(mConditions.isXTMNeutural ||
mConditions.isXTMEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXLHLLDecreased)
//
||
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) ||
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHHHSameInLength) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXLHLLSameInLength)
//
||
//
(mConditions.isXLHLLIncreased &&
mConditions.isXLHPriceInSignalRange)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
mConditions.isXCHMASCCrossedOverMin
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCOverMax &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMAMCPeak)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXLHLLIncreased &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
(mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceOverSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMASCOverMax)
//
||
//
((mConditions.isXTDBearishVale &&
mConditions.isXCHMASCCrossedOverMin) &&
(
//
(mConditions.isXTMNeutural &&
(
//
mConditions.isXAMANeutural
//
||
//
mConditions.isXAMAStartBullish
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXLHPriceCrossedUnderSignal &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXTDBearishVale &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
mConditions.isXTSCurrentCrossedOverMediest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXCHMASCOverMax &&
mConditions.isXTDBearishVale) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
||
//
(mConditions.isXAMAStartBullish &&
mConditions.isXLHPriceUnderSignal)
//
)
//
)
//
||
//
(mConditions.isXTDBearishVale &&
(
//
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHLLSameInLength)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMALCVale &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHLLSameInLength)
//
||
//
(mConditions.isXTSCurrentMax &&
mConditions.isXTDBearishVale &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBearishVale &&
mConditions.isXCHMALCFastUnderSlow &&
mConditions.isXTSCurrentCrossedUnderNearest) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTDBearishVale &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceInSignalRange &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXTDBearishVale &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXTSCurrentUnderMediest
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
(mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceOverSignal &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXAMABearish &&
mConditions.isXTMNeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXTDBearishVale &&
mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceUnderSignal &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXTSCurrentCrossedUnderMediest &&
(
//
(mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceUnderSignal)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceInSignalRange &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentCrossedUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
||
//
(mConditions.isXLHPriceInSignalRange &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXLHLLIncreased)
//
||
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
((mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceUnderSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXCHMALCVale &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABearish)
//
)
//
)
//
||
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXTSCurrentUnderFarest
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHHHSameInLength &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXLHLLDecreased)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXAMABearish &&
mConditions.isXTMStartBullish)
//
||
//
(mConditions.isXTDBearishVale &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
mConditions.isXAMABearish
//
||
//
mConditions.isXLHLLSameInLength
//
||
//
(mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHHHSameInLength &&
mConditions.isXLHPriceUnderSignal)
//
)
//
)
//
||
//
((mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXLHHHDecreased)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDBearishVale)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength)
//
)
//
)
//
)
//
)
//
||
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMAStartBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHMCLCHHSame)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural) &&
(
//
mConditions.isXTSCurrentCrossedOverNearest
//
||
//
(mConditions.isXAMAVale &&
mConditions.isXLHLLIncreased &&
mConditions.isXTMStartBullish &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXAMAStartBullish &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXLHHHDecreased &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXTSCurrentCrossedUnderFarest &&
(
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
(
//
mConditions.isXAMANeutural
//
||
//
mConditions.isXTMEndBullish
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMALCVale &&
(
//
mConditions.isXTDBearishVale
//
||
//
(mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
mConditions.isXCHMASCOverMax
//
||
//
(mConditions.isXTDBearishVale &&
(
//
mConditions.isXAMANeutural
//
||
//
mConditions.isXTMStartBullish
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXCHMALCTrendsDown) &&
(!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow))
//
||
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXLHLLIncreased) &&
(
//
mConditions.isXCHMALCVale
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMALCPeak)
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHPriceInSignalRange)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale)
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXLHLLDecreased &&
mConditions.isXTMStartBullish &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXCHMAMCFastUnderSlow
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXLHLLSameInLength &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCUnderMin)
//
||
//
mConditions.isXTSCurrentCrossedOverNearest
//
)
//
)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMax)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceUnderSignal &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXCHMAMCVale &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
||
//
(mConditions.isXAMAVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMABearish &&
mConditions.isXCHMASCUnderMin)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXTSCurrentCrossedOverNearest) &&
(
//
(mConditions.isXLHLLDecreased &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXAMAVale &&
mConditions.isXAMABearish &&
mConditions.isXTMStartBullish &&
mConditions.isXCHLHSCMCLLSame)
//
||
//
(mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCCrossedOverMin &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXTDBearishVale &&
mConditions.isXTSCurrentUnderMediest &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
((mConditions.isXTSAllSame &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXTSCurrentMax &&
(
//
mConditions.isXLHHHDecreased
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXLHLLDecreased)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXLHHHSameInLength &&
mConditions.isXLHPriceUnderSignal)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXTDBearishVale &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXAMAVale &&
mConditions.isXAMABearish &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXTMStartBullish)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTSCurrentMax &&
(
//
(mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceUnderSignal)
//
||
//
(mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceInSignalRange &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTDBearishVale)
//
||
//
(mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHPriceOverSignal) &&
(
//
mConditions.isXTMStartBullish
//
||
//
((mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverNearest) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXLHLLSameInLength &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXCHMALCFastUnderSlow
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCCrossedOverMax)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax)
//
||
//
((mConditions.isXOBDSwingHigh &&
mConditions.isXTSCurrentMax) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentMax &&
(
//
(mConditions.isXLHPriceCrossedOverSignal &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXTSCurrentMax &&
mConditions.isXLHHighAttachedHH)
//
||
//
(mConditions.isXTSAllSame &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHPriceCrossedOverSignal)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDBullOverBear) &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXCHMASCCrossedOverMax)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax) &&
(
//
mConditions.isXTSCurrentCrossedOverNearest
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXTMStartBullish &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXTSCurrentMax &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXCHMALCVale &&
mConditions.isXLHPriceOverSignal &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
||
//
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHPriceOverSignal &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
mConditions.isXTDBearishVale
//
||
//
(mConditions.isXLHHHSameInLength &&
(
//
mConditions.isXLHLLSameInLength
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXLHHHSameInLength &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
mConditions.isXFICrossedOverZero
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCUnderMax)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish) &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHLLSameInLength)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
mConditions.isXTSCurrentCrossedOverNearest
//
||
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
||
//
(((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) ||
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)) &&
(
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
(mConditions.isXTSCurrentMax &&
(
//
mConditions.isXTDBearishVale
//
||
//
(mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceInSignalRange)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXLHPriceOverSignal &&
mConditions.isXLHLLSameInLength) &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXLHHHSameInLength &&
(
//
mConditions.isXCHLHSCMCHHSame
//
||
//
(mConditions.isXCHMASCOverMax &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHMCLCHHSame)
//
||
//
(mConditions.isXTSAllSame &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMASCCrossedOverMax)
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXFIOverZero &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
||
//
((mConditions.isXCHMAMCPeak ||
mConditions.isXTDBearishVale) &&
(
//
(!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMASCOverMax &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHSameHHs)
//
||
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
mConditions.isXLHHighAttachedHH
//
||
//
mConditions.isXTSCurrentCrossedOverMediest
//
)
//
)
//
)
//
)
//
||
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
mConditions.isXCHLHSCMCHHSame
//
||
//
mConditions.isXLHHHSameInLength
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXLHLLIncreased &&
mConditions.isXLHHighAttachedHH)
//
||
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceUnderSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXCHMASCTrendsDown
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXTSCurrentMax &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXLHLLDecreased &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXTMStartBullish &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXCHMAMCTrendsDown
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXAMAStartBullish &&
(
//
(mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHPriceUnderSignal)
//
||
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXLHLLSameInLength)
//
||
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCCrossedOverMax)
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCUnderMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDBearishVale &&
(
//
(mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceInSignalRange)
//
||
//
(mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
((mConditions.isXTDBearishVale &&
mConditions.isXLHPriceOverSignal) &&
(
//
(mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength)
//
||
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
||
//
((mConditions.isXTDBearishVale &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXTMBearish &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentMax &&
mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceUnderSignal &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTSCurrentCrossedOverFarest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXTDBearishVale &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXAMANeutural &&
(
//
mConditions.isXTMNeutural
//
||
//
mConditions.isXCHLHMCLCHHSame
//
||
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
mConditions.isXAMAEndBearish
//
||
//
(mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXLHLLDecreased &&
mConditions.isXTMStartBullish &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
mConditions.isXAMANeutural
//
||
//
(mConditions.isXAMAStartBullish &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
(mConditions.isXTDBearishVale &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXCHLHMCLCHHSame &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXCHMASCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBearishVale &&
mConditions.isXCHMASCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHHHDecreased &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// isXCHMALCTrendsDown
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
mConditions.isXCHMASCOverMax
//
||
//
(mConditions.isXTSAllSame &&
mConditions.isXAMANeutural &&
mConditions.isXTDBearishVale &&
mConditions.isXTMStartBearish &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceInSignalRange &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXLHLLIncreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Long ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
mConditions.isXCHLHSameHHs
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
mConditions.isXTDBearishVale
//
||
//
(mConditions.isXTSAllSame &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXLHHHSameInLength &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
((mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH) &&
(
//
(mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceOverSignal)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXLHLLIncreased &&
mConditions.isXTSCurrentOverFarest)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTSCurrentCrossedOverNearest) &&
(
//
(mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
||
//
(mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHPriceOverSignal) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMAMCFastCrossedOverSlow)
//
||
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTD Short Signal Checking ...
bool XUSPY5XTDHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXTDEnableSignaller ||
!xUSPY5MXTDAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XTDHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Short ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHLLIncreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Short ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXLHHHDecreased &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMStartBearish &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHHHDecreased &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCTrendsUp &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXCHMASCUnderMin &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Short ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCTrendsUp &&
mConditions.isXTSCurrentOverFarest)
//
||
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXAMANeutural ||
mConditions.isXAMAEndBullish) &&
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXTMStartBearish &&
mConditions.isXAMAEndBullish &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXCHMAMCTrendsUp &&
mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
)
//
)
//
||
//
// XTD Short ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCTrendsUp &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
mConditions.isXTSAllSame
//
||
//
mConditions.isXTSCurrentOverFarest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTD Short ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTD Short ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
// XTD Shorts ...
// Resolve Guard Attacks ...
||
(
//
// XTD Shorts ...
// isXTSCurrentOverNearest
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
(
//
(mConditions.isXCHLHSameLLs &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
||
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXLHLLIncreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXTSCurrentOverMediest
(mConditions.isXTSCurrentOverMediest &&
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMALCVale &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXTSCurrentOverFarest
(mConditions.isXTSCurrentOverFarest &&
(
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCFastCrossedUnderSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXTSCurrentOverMediest
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCVale &&
mConditions.isXLHHHIncreased &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXTMStartBearish &&
mConditions.isXTDBullOverBear &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXTDBullOverBear
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin) &&
(
//
(mConditions.isXCHMASCUnderMin &&
(
//
(mConditions.isXCHLHSameLLs &&
mConditions.isXAMAStartBearish &&
mConditions.isXLHLowAttachedLL)
//
||
//
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXCHLHSameLLs &&
mConditions.isXLHPriceCrossedUnderSignal)
//
||
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
mConditions.isXTMNeutural
//
||
//
mConditions.isXAMANeutural
//
)
//
)
//
||
//
(mConditions.isXLHLLSameInLength &&
(
//
(mConditions.isXTDSignalCrossedUnderBear &&
mConditions.isXCHMASCFastCrossedUnderSlow &&
mConditions.isXTSCurrentCrossedUnderFarest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceCrossedUnderSignal &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXLHPriceCrossedUnderSignal &&
(
//
((mConditions.isXTSAllSame &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXCHMASCFastOverSlow
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXLHHHSameInLength &&
mConditions.isXLHLLSameInLength) &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSAllSame &&
(
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentCrossedUnderMediest) &&
(
//
mConditions.isXTDBullOverBear
//
||
//
mConditions.isXTSCurrentCrossedUnderFarest
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceOverSignal &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXLHPriceOverSignal &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXTMStartBearish &&
(
//
mConditions.isXAMANeutural
//
||
//
mConditions.isXAMAStartBearish
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXLHHHIncreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXTMStartBearish &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXCHMAMCFastOverSlow
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak) &&
(
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
||
//
(((mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish) ||
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHLLIncreased &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHPriceCrossedUnderSignal &&
mConditions.isXCHMASCFastCrossedUnderSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXCHMALCFastOverSlow
// Check LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHHHDecreased &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXCHMASCTrendsDown
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXLHHHSameInLength &&
(
//
(mConditions.isXLHPriceUnderSignal &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTD Shorts ...
// isXCHMALCTrendsDown
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTMStartBearish &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXAMAStartBearish &&
mConditions.isXTDSignalCrossedUnderBear &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
||
//
// XTD Shorts ...
// Bearish MA ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDSignalCrossedUnderBear) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
mConditions.isXTSCurrentCrossedUnderFarest
//
||
//
mConditions.isXTSCurrentCrossedUnderNearest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTAM Long Signal Checking ...
bool XUSPY5XTAMHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXTAMEnableSignaller ||
!xUSPY5MXTAMAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XTAMHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Long ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTDSignalUnderBear &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHLowAttachedLL)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Long ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMAMCTrendsUp &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Long ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
||
//
// Check LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHHighAttachedHH) &&
(
//
mConditions.isXCHLHSameHHs
//
||
//
(mConditions.isXTDSignalUnderBear &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Long ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Long ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
// XTAM Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderFarest) &&
(
//
mConditions.isXCHMASCTrendsUp
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHHHDecreased) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
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) &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderNearest &&
mConditions.isXTSCurrentUnderMediest)
//
)
//
)
//
||
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTSAllSame &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXLHLLIncreased) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale)
//
||
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXLHHHDecreased &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXTDBearishVale &&
mConditions.isXTMVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderMediest &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHPriceCrossedOverSignal)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderFarest &&
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
mConditions.isXTSCurrentMax
//
||
//
mConditions.isXTSCurrentUnderFarest
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderNearest &&
mConditions.isXTSCurrentUnderMediest &&
mConditions.isXTSCurrentCrossedUnderNearest &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDBearishVale &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax) &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
mConditions.isXCHMALCVale
//
||
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXCHMASCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBearishVale &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXLHHighAttachedHH) &&
(
//
(mConditions.isXTMEndBearish &&
mConditions.isXAMAEndBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderMediest) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale)
//
||
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH) &&
(
//
mConditions.isXTSCurrentMax
//
||
//
mConditions.isXCHMASCCrossedOverMax
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentUnderNearest)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXCHMASCOverMax &&
(
//
mConditions.isXRSICrossedOverLongExit
//
||
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXLHLLIncreased &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMAMCFastCrossedOverSlow &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
((mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
||
//
(mConditions.isXLHHighAttachedHH &&
(
//
(mConditions.isXCHLHSameHHs &&
(
//
mConditions.isXTDBearishVale
//
||
//
(mConditions.isXCHLHMCLCLLSame &&
mConditions.isXLHPriceCrossedOverSignal)
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCFastCrossedOverSlow &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
((mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish) &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
(mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXAMAStartBullish &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXRSICrossedOverLongExit &&
mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXCHMAMCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
mConditions.isXTSCurrentUnderMediest &&
mConditions.isXTSCurrentCrossedUnderNearest &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderMediest) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTSCurrentUnderFarest)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTMStartBullish &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDSignalUnderBear &&
mConditions.isXTDBullCrossedUnderBear) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCCrossedUnderMax) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCCrossedUnderMax) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentUnderFarest) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTSCurrentUnderMediest)
//
||
//
(mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXLHLLDecreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH) &&
(
//
mConditions.isXTDBearishVale
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTAM Short Signal Checking ...
bool XUSPY5XTAMHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXTAMEnableSignaller ||
!xUSPY5MXTAMAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XTAMHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Short ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCTrendsUp &&
mConditions.isXTSCurrentOverFarest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Short ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Short ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverFarest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Short ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Short ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTDSignalOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Short ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTDBullCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale)
//
)
//
)
//
)
//
)
//
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMASCTrendsUp &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
//
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XTAM Short ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Short ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Short ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XTAM Short ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
// XTAM Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDBullOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXTDBullCrossedUnderBear)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin) &&
(
//
mConditions.isXTSCurrentOverFarest
//
||
//
(mConditions.isXTSCurrentMin &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTDBearishVale &&
mConditions.isXTDSignalOverBear) &&
(
//
mConditions.isXTDBullOverBear
//
||
//
(mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentOverFarest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSAllSame &&
mConditions.isXLHLLDecreased) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTDBearishVale &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXLHLLIncreased) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXLHLLIncreased)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXRSICrossedUnderShortExit &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMALCVale &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
mConditions.isXTSCurrentMax
//
||
//
mConditions.isXTDSignalOverBear
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedOverBear &&
(
//
(mConditions.isXAMABullish &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXLHPriceCrossedOverSignal &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
||
//
(mConditions.isXTDBullCrossedOverBear &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMALCVale &&
(
//
mConditions.isXCHMASCUnderMin
//
||
//
mConditions.isXCHLHMCLCLLSame
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
||
//
((mConditions.isXCHMASCPeak &&
mConditions.isXTDSignalOverBear) &&
(
//
mConditions.isXCHMASCTrendsUp
//
||
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTDBullCrossedOverBear)
//
||
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHHHIncreased &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTDSignalOverBear &&
mConditions.isXTSCurrentOverMediest)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedOverBear &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMASCTrendsUp &&
mConditions.isXTSCurrentOverFarest) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
||
//
(mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXTSAllSame &&
mConditions.isXLHHighAttachedHH) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTMNeutural &&
(
//
((mConditions.isXAMANeutural &&
mConditions.isXTSCurrentMin) &&
(
//
mConditions.isXTSCurrentCrossedUnderFarest
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
||
//
((mConditions.isXAMABullish &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverFarest) &&
(
//
mConditions.isXTDSignalOverBear
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
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 In Signal Range ...
// All Bearish ...
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTDBullOverBear &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentOverMediest &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMASCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXTSCurrentCrossedUnderNearest) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish &&
mConditions.isXLHPriceCrossedUnderSignal &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
||
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHLowAttachedLL)
//
||
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXCHMASCCrossedUnderMin)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentCrossedOverNearest) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameLLs)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentMin &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCCrossedUnderMax) &&
(
//
(!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDBullishVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
||
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown) &&
(
//
(mConditions.isXTSCurrentMin &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXLHHHDecreased &&
mConditions.isXCHMASCCrossedUnderMax)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXRSICrossedUnderShortExit &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHLowAttachedLL) &&
(
//
mConditions.isXRSICrossedUnderShortExit
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHMASCCrossedUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
(
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXCHMASCCrossedUnderMin) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHPriceCrossedUnderSignal &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
||
//
(mConditions.isXRSICrossedUnderShortExit &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXAMAStartBearish &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
||
//
(mConditions.isXTDBullUnderBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXTSCurrentCrossedOverNearest &&
mConditions.isXTSCurrentCrossedOverMediest)
//
||
//
((mConditions.isXTSCurrentMin &&
mConditions.isXLHLowAttachedLL) &&
(
//
mConditions.isXCHMAMCFastCrossedUnderSlow
//
||
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTSCurrentMax &&
mConditions.isXTDBullOverBear &&
mConditions.isXTSCurrentOverFarest) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentCrossedUnderNearest &&
mConditions.isXTSCurrentCrossedUnderMediest) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTSCurrentCrossedUnderFarest &&
mConditions.isXTSCurrentCrossedUnderNearest &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTAM Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XSI Long Signal Checking ...
bool XUSPY5XSIHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXSIEnableSignaller ||
!xUSPY5MXSIAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XSIHasLongConditions()
//
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XSI Long ...
// Resolve Stop Outs ...
(
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
mConditions.isXTSCurrentUnderFarest
//
||
//
mConditions.isXTSCurrentCrossedUnderNearest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(((mConditions.isXTMVale &&
mConditions.isXAMAVale)
//
||
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)) &&
(
//
mConditions.isXTSCurrentUnderFarest
//
||
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow &&
mConditions.isXCHMALCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
mConditions.isXTSCurrentUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XSI Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMAMCTrendsUp)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTSCurrentUnderFarest &&
mConditions.isXTSCurrentUnderMediest)
//
)
//
)
//
||
//
((mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale) &&
(
//
mConditions.isXTSCurrentUnderMediest
//
||
//
mConditions.isXTSCurrentUnderFarest
//
||
//
((mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXTMBearish &&
mConditions.isXAMANeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXTSCurrentUnderFarest &&
mConditions.isXCHMASCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
((mConditions.isXCHLHMCLCLLSame &&
mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXLHHHDecreased &&
mConditions.isXLHLLDecreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMEndBearish &&
mConditions.isXAMAEndBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
((mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish))
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXTSAllSame &&
mConditions.isXCHMAMCVale)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCVale)
//
)
//
)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXTSCurrentUnderFarest &&
mConditions.isXTSCurrentUnderMediest)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTMBearish &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHLHSCMCLLSame &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTMBearish &&
mConditions.isXCHMAMCVale &&
mConditions.isXAMANeutural &&
mConditions.isXTSCurrentMin &&
mConditions.isXAMAEndBearish)
//
||
//
(mConditions.isXCHLHMCLCHHSame &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale)
//
||
//
((mConditions.isXTMVale &&
mConditions.isXTMBearish &&
mConditions.isXCHMASCVale) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXLHLLDecreased)
//
||
//
(mConditions.isXAMAVale &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHMALCTrendsUp &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
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) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDBearishVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish &&
mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXCHMASCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXLHHHDecreased &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMAMCVale) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCLLSame)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXTMVale &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDBearishVale &&
mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHHighAttachedHH &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XSI Short Signal Checking ...
bool XUSPY5XSIHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXSIEnableSignaller ||
!xUSPY5MXSIAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XSIHasShortConditions()
//
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XSI Short ...
// Resolve Stop Outs ...
(
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXCHMALCVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
(
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXLHHHIncreased &&
mConditions.isXCHMAMCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDSignalOverBear &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak) &&
(
//
(mConditions.isXLHHHIncreased &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
mConditions.isXTSCurrentOverFarest
//
||
//
mConditions.isXCHMAMCFastCrossedOverSlow
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
mConditions.isXTSCurrentOverFarest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTSCurrentOverNearest &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCCrossedOverMin &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCPeak &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDBearishVale &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMASCPeak &&
(
//
mConditions.isXCHMAMCPeak
//
||
//
mConditions.isXCHMALCVale
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
mConditions.isXCHMAMCFastCrossedOverSlow
//
||
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXCHMAMCFastCrossedOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XSI Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
mConditions.isXCHMASCPeak
//
||
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverNearest &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak) &&
(
//
((mConditions.isXTSAllSame &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentMin &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTSCurrentOverFarest)
//
||
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale) &&
(
//
((mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
mConditions.isXTSCurrentCrossedUnderNearest
//
||
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXLHHHIncreased)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMASCPeak &&
(
//
(mConditions.isXCHMALCVale &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
((mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCPeak &&
(
//
((mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
(
//
mConditions.isXCHLHMCLCLLSame
//
||
//
mConditions.isXTSCurrentOverMediest
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCLLSame)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
mConditions.isXCHLHMCLCLLSame
//
||
//
mConditions.isXTSCurrentOverMediest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXFIOverZero &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak) &&
(
//
(mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
) //
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
((mConditions.isXLHHHIncreased &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXTSCurrentMin &&
mConditions.isXTDBearishVale &&
mConditions.isXLHHHDecreased &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMAMCFastCrossedOverSlow &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCFastCrossedOverSlow &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XSI Short ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTSFI Long Signal Checking ...
bool XUSPY5XTSFIHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXTSFIEnableSignaller ||
!xUSPY5MXTSFIAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XTSFIHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTSFI Long ...
// Resolve Stop Outs ...
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCTrendsUp) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXTMStartBullish)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Neutural States ...
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
)
//
)
//
)
//
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTDBullCrossedUnderBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverFarest &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXFICrossedUnderZero)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTDBearishVale &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMASCOverMin &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
mConditions.isXAMABearish
//
||
//
mConditions.isXAMANeutural
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check Bearish State ...
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
mConditions.isXTMBearish
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check Bearish State ...
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
mConditions.isXTMBearish
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXTMEndBearish &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XTSFI Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTDBullCrossedUnderBear &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHMASCOverMax) &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((!mConditions.isXCHMALCTrendsUp &&
!mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCCrossedOverMax)
//
)
//
)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
)
//
)
//
)
//
)
//
||
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXFIUnderZero &&
mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTDBearishVale &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCVale &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXLHLLIncreased &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXTMEndBullish &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((!mConditions.isXCHMALCTrendsUp &&
!mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTDBearishVale &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXRSICrossedOverLongExit &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown) &&
(
//
(mConditions.isXTDBullUnderBear &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak)
//
||
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTDBullUnderBear &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMANeutural &&
mConditions.isXAMAEndBearish &&
mConditions.isXCHMASCOverMax)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMABearish) &&
(
//
mConditions.isXTMEndBearish
//
||
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXAMAVale &&
(
//
(mConditions.isXCHLHSCMCLLSame &&
(
//
mConditions.isXCHMAMCVale
//
||
//
mConditions.isXCHLHMCLCHHSame
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXCHMASCCrossedUnderMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXTMNeutural &&
mConditions.isXTMEndBullish &&
mConditions.isXTDBearishVale)
//
||
//
((mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCHHSame &&
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
mConditions.isXTMBearish
//
||
//
mConditions.isXTMNeutural
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedUnderBear &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMABearish &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXCHMAMCVale) &&
(
//
(mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMEndBullish)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXLHHHDecreased &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
(mConditions.isXTDSignalCrossedUnderBear &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
||
//
// 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 Under Signal ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXTDBullUnderBear &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHMASCTrendsUp)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTDBullCrossedUnderBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish)
//
||
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
mConditions.isXRSICrossedUnderShortExit
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCHHSame)
//
||
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMStartBullish &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMASCOverMax) &&
(
//
mConditions.isXCHLHSCMCHHSame
//
||
//
(mConditions.isXTDBearishVale &&
(
//
mConditions.isXTSCurrentCrossedOverNearest
//
||
//
mConditions.isXTSCurrentCrossedUnderMediest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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 Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXCHLHSameLLs &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXLHLLDecreased &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTDSignalCrossedOverBear)
//
||
(mConditions.isXTDSignalUnderBear &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXLHLLDecreased &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
||
//
(mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXLHHHDecreased) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXFIUnderZero &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXFICrossedUnderZero &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
||
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXLHHHDecreased &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
||
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTMEndBullish &&
mConditions.isXLHHHDecreased &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMASCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTSCurrentCrossedUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCCrossedOverMax)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTDSignalCrossedUnderBear)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
(mConditions.isXCHMASCOverMax &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
mConditions.isXCHLHMCLCLLSame
//
||
//
mConditions.isXCHMALCTrendsDown
//
)
//
)
//
||
//
((mConditions.isXCHLHSameHHs &&
mConditions.isXTDBearishVale) &&
(
//
mConditions.isXLHHHIncreased
//
||
//
mConditions.isXTSCurrentCrossedOverNearest
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXCHLHSameHHs &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
||
//
(mConditions.isXAMAStartBullish &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXLHPriceCrossedOverSignal &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTMStartBullish &&
mConditions.isXAMAStartBullish) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
mConditions.isXCHLHMCLCHHSame
//
||
//
mConditions.isXTSCurrentCrossedOverNearest
//
)
//
)
//
)
//
)
//
||
//
((!mConditions.isXCHMALCTrendsUp &&
!mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXFIUnderZero &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale) &&
(
//
mConditions.isXAMANeutural
//
||
//
(mConditions.isXTMNeutural &&
(
//
(mConditions.isXAMABearish &&
mConditions.isXTDSignalUnderBear)
//
||
//
(mConditions.isXTMEndBullish &&
mConditions.isXLHLLIncreased)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
mConditions.isXTDBullCrossedUnderBear
//
||
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale)
//
)
//
)
//
||
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentCrossedUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXTMEndBullish &&
mConditions.isXAMAEndBullish &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHMCLCHHSame)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
((mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCHHSame)
//
||
//
(!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
mConditions.isXTDBearishVale
//
||
//
mConditions.isXCHLHMCLCHHSame
//
)
//
)
//
||
//
((mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame) &&
(
//
(mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear &&
mConditions.isXTSCurrentOverFarest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXFIUnderZero &&
mConditions.isXCHMASCOverMax &&
mConditions.isXFICrossedUnderZero)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Over Signal ...
// All Neutural ...
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
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) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMABearish &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSCMCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
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) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXTMBearish &&
mConditions.isXCHMAMCPeak &&
mConditions.isXLHLLIncreased &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTSCurrentUnderMediest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXCHMASCOverMax &&
mConditions.isXTDSignalCrossedOverBear &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Long ...
// Resolve Guard Attacks ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XTSFI Short Signal Checking ...
bool XUSPY5XTSFIHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXTSFIEnableSignaller ||
!xUSPY5MXTSFIAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XTSFIHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XTSFI Short ...
// Resolve Stop Outs ...
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMASCFastCrossedOverSlow &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXCHMAMCVale &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXTSCurrentCrossedUnderFarest &&
mConditions.isXTSCurrentCrossedUnderNearest) &&
(
//
(mConditions.isXAMANeutural &&
mConditions.isXLHHHDecreased)
//
||
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
||
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXTMVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMAMCVale)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// All Neutural ...
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCFastCrossedUnderSlow)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Current Over Mediest ...
(mConditions.isXTSCurrentOverMediest &&
(
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXTMStartBearish &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDBullCrossedUnderBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXLHLLDecreased &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
||
//
(mConditions.isXTDBullCrossedOverBear &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXFIOverZero &&
mConditions.isXFICrossedOverZero &&
mConditions.isXTSCurrentCrossedOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTMBullish &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXAMABullish &&
(
//
mConditions.isXTDBullOverBear
//
||
//
mConditions.isXTDBullCrossedOverBear
//
)
//
)
//
||
//
(mConditions.isXAMANeutural &&
mConditions.isXTDBullCrossedOverBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXFIOverZero &&
mConditions.isXCHMAMCVale &&
mConditions.isXFICrossedOverZero) &&
(
//
mConditions.isXCHMASCUnderMin
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXCHMALCTrendsDown)
//
||
//
(mConditions.isXTSCurrentCrossedOverMediest &&
mConditions.isXAMAVale &&
mConditions.isXCHMALCPeak)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCTrendsDown) &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentCrossedOverMediest)
//
||
//
(mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTSCurrentCrossedUnderFarest)
//
||
//
(mConditions.isXCHMASCOverMin &&
mConditions.isXCHMASCUnderMax &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
||
//
(!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXLHLLIncreased &&
mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish &&
mConditions.isXCHMALCTrendsDown)
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSCurrentCrossedOverMediest &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMABearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
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
//
)
//
)
//
||
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHLHSameLLs &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMASCTrendsUp &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXFIOverZero &&
mConditions.isXFICrossedOverZero)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMAMCPeak &&
(
//
(mConditions.isXCHMASCOverMax &&
mConditions.isXTSCurrentCrossedOverMediest)
//
||
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMALCVale)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHLHMCLCLLSame &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXLHPriceCrossedOverSignal &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
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) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTDBullCrossedOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMBearish &&
mConditions.isXAMANeutural)
//
)
//
)
//
||
//
(mConditions.isXCHMAMCVale &&
(
//
(mConditions.isXAMABearish &&
mConditions.isXTMStartBearish &&
mConditions.isXCHMALCTrendsDown)
//
||
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMAStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTMBullish &&
mConditions.isXAMABullish &&
mConditions.isXCHMASCTrendsUp &&
mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear &&
mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMAMCTrendsUp &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCHHSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// 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) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXLHHHDecreased &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural)
//
||
//
(mConditions.isXTMEndBearish &&
mConditions.isXAMAEndBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXCHLHMCLCHHSame &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentCrossedOverMediest &&
(
//
((mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSCMCLLSame) &&
(
//
(mConditions.isXAMAVale &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXTMNeutural &&
mConditions.isXAMABearish &&
mConditions.isXCHMALCPeak)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXCHMALCPeak &&
(
//
((mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
mConditions.isXLHLowAttachedLL
//
||
//
mConditions.isXTSCurrentCrossedUnderNearest
//
||
//
(!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTSCurrentCrossedOverMediest &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXCHLHSameLLs &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHMASCCrossedUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XTSFI Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
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) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTMVale &&
mConditions.isXAMAVale &&
mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSameLLs)
//
||
//
(mConditions.isXTSCurrentCrossedOverMediest &&
(
//
(mConditions.isXCHMAMCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXLHLowAttachedLL)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// 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 XUSPY5XOBDLHHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXOBDLHEnableSignaller ||
!xUSPY5MXOBDLHAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XOBDLHHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Long ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Long ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Long ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Long ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Long ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XOBDLH Short Signal Checking ...
bool XUSPY5XOBDLHHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXOBDLHEnableSignaller ||
!xUSPY5MXOBDLHAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XOBDLHHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Short ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Short ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Short ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XOBDLH Short ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XOBDLH Short ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XCHMACC Long Signal Checking ...
bool XUSPY5XCHMACCHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXCHMACCEnableSignaller ||
!xUSPY5MXCHMACCAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XCHMACCHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMALCPeak &&
(
//
(mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXLHLLDecreased)
//
||
//
((mConditions.isXCHMASCVale &&
mConditions.isXTMBearish) &&
(
//
mConditions.isXAMABearish
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
(mConditions.isXTSCurrentMax &&
mConditions.isXTDSignalCrossedOverBear)
//
||
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
mConditions.isXTDSignalCrossedOverBear
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXAMAEndBullish &&
!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow &&
mConditions.isXTDSignalCrossedOverBear)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
mConditions.isXTSCurrentCrossedUnderFarest)
//
||
//
(mConditions.isXTSCurrentMax &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHLHSameHHs &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXLHLLIncreased &&
mConditions.isXTMStartBullish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHLHMCLCHHSame) &&
(
//
mConditions.isXTSCurrentUnderFarest
//
||
//
(mConditions.isXTSCurrentMax &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXTSCurrentMax &&
mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentOverMediest)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHLHMCLCHHSame &&
!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
(mConditions.isXTDBullUnderBear &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXTSCurrentUnderFarest &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTDSignalUnderBear &&
(
//
((mConditions.isXCHMALCPeak &&
mConditions.isXCHMASCOverMax) &&
(
//
(mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCCrossedOverMax &&
mConditions.isXTSCurrentCrossedOverNearest)
//
||
//
(mConditions.isXTSCurrentUnderNearest &&
(
//
(mConditions.isXTSCurrentCrossedUnderNearest &&
(
//
(mConditions.isXTMStartBullish &&
mConditions.isXTDBullCrossedOverBear &&
mConditions.isXLHPriceCrossedOverSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXLHLLDecreased)
//
)
//
)
//
||
//
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDBearishVale &&
(
//
(mConditions.isXCHMAMCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// All Bullish ...
((mConditions.isXTMBullish &&
mConditions.isXAMABullish) &&
(
//
(mConditions.isXTDSignalUnderBear &&
(
//
(mConditions.isXCHMALCPeak &&
mConditions.isXTSCurrentMax &&
mConditions.isXCHMASCOverMax &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXLHHighAttachedHH)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXCHMASCVale &&
mConditions.isXCHMALCPeak &&
mConditions.isXTMBearish &&
mConditions.isXAMABearish &&
mConditions.isXCHMASCOverMax)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastOverSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow ...
((mConditions.isXCHMASCFastUnderSlow ||
mConditions.isXCHMASCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow ...
((mConditions.isXCHMAMCFastUnderSlow ||
mConditions.isXCHMAMCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow ...
((mConditions.isXCHMALCFastUnderSlow ||
mConditions.isXCHMALCFastCrossedUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Long ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastOverSlow) &&
(
//
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 XUSPY5XCHMACCHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXCHMACCEnableSignaller ||
!xUSPY5MXCHMACCAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XCHMACCHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((!mConditions.isXCHMASCTrendsUp &&
!mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXTSCurrentMin &&
mConditions.isXLHHHIncreased &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXTSCurrentCrossedOverNearest &&
(
//
(mConditions.isXLHHHDecreased &&
mConditions.isXCHMASCUnderMin)
//
||
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
||
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXTMStartBearish)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXLHHHIncreased &&
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
mConditions.isXTSCurrentMin
//
||
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentCrossedOverFarest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverNearest &&
(
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMStartBearish &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Under Signal ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
(mConditions.isXRSICrossedUnderShortExit &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
||
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXCHMASCUnderMin) &&
(
//
(mConditions.isXTSCurrentOverFarest &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
||
//
(mConditions.isXTSCurrentMin &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTSCurrentOverFarest &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXAMABullish &&
mConditions.isXTMStartBearish &&
mConditions.isXCHLHMCLCLLSame)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// Both HH and LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXTSCurrentOverMediest &&
(
//
(mConditions.isXTDBullCrossedOverBear &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXCHMASCUnderMin) &&
(
//
mConditions.isXTSCurrentMax
//
||
//
mConditions.isXCHMASCCrossedUnderMin
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTSCurrentOverNearest &&
(
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
mConditions.isXTSCurrentCrossedOverNearest
//
)
//
)
//
)
//
)
//
||
//
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentCrossedUnderNearest &&
mConditions.isXTSCurrentCrossedUnderMediest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((!mConditions.isXCHMALCTrendsUp &&
!mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHMCLCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHLLSameInLength &&
mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXTSCurrentOverNearest &&
(
//
(mConditions.isXCHMASCPeak &&
mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXTSCurrentCrossedOverNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// LL Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price In Signal Range ...
// All Neutural ...
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXTDBullCrossedUnderBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
((!mConditions.isXCHMAMCTrendsUp &&
!mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTMNeutural &&
mConditions.isXAMANeutural &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
||
//
((mConditions.isXTMNeutural &&
mConditions.isXAMANeutural) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXLHPriceCrossedUnderSignal &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
(mConditions.isXRSICrossedUnderShortExit &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Under Signal ...
// All Bearish ...
((mConditions.isXTMBearish &&
mConditions.isXAMABearish) &&
(
//
(mConditions.isXTDBullOverBear &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXTSCurrentCrossedUnderNearest)
//
)
//
)
//
||
//
(mConditions.isXRSICrossedUnderShortExit &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
((!mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
((mConditions.isXTDBullOverBear &&
mConditions.isXTDSignalOverBear) &&
(
//
(mConditions.isXCHMALCVale &&
mConditions.isXCHLHSameLLs &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHLHSCMCHHSame &&
mConditions.isXTMStartBearish &&
mConditions.isXAMAStartBearish &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Under Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
((mConditions.isXTDBullUnderBear &&
mConditions.isXTDSignalUnderBear) &&
(
//
((mConditions.isXCHMALCVale &&
mConditions.isXTSCurrentMin &&
mConditions.isXCHMASCUnderMin &&
mConditions.isXLHLowAttachedLL &&
mConditions.isXTSCurrentCrossedUnderNearest) &&
(
//
mConditions.isXCHLHSameLLs
//
||
//
(mConditions.isXTDSignalVale &&
mConditions.isXTDBullishVale &&
mConditions.isXCHLHSCMCLLSame &&
mConditions.isXCHMASCCrossedUnderMin &&
mConditions.isXLHPriceCrossedUnderSignal)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Over Signal ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Stop Outs ...
// not LL and HH Same In Length ...
// Price Free ...
// Check if LC Fast Under Slow But Trends Down ...
((mConditions.isXCHMALCTrendsDown &&
mConditions.isXCHMALCFastUnderSlow) &&
(
//
false
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
)
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
||
//
(
//
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
(
//
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
(
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Over Slow ...
((mConditions.isXCHMASCFastOverSlow ||
mConditions.isXCHMASCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Over Slow ...
((mConditions.isXCHMAMCFastOverSlow ||
mConditions.isXCHMAMCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if LC Fast Over Slow ...
((mConditions.isXCHMALCFastOverSlow ||
mConditions.isXCHMALCFastCrossedOverSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if SC Fast Under Slow But Trends Down ...
((mConditions.isXCHMASCTrendsDown &&
mConditions.isXCHMASCFastUnderSlow) &&
(
//
false
//
)
//
)
//
||
//
// XCHMACC Short ...
// Resolve Guard Attacks ...
// Both HH and LL Same In Length ...
// Price In Signal Range ...
// Check if MC Fast Under Slow But Trends Down ...
((mConditions.isXCHMAMCTrendsDown &&
mConditions.isXCHMAMCFastUnderSlow) &&
(
//
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 XUSPY5XCHMAMNHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXCHMAMNEnableSignaller ||
!xUSPY5MXCHMAMNAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XCHMAMNHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Long ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Long ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Long ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Long ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Long ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XCHMAMN Short Signal Checking ...
bool XUSPY5XCHMAMNHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXCHMAMNEnableSignaller ||
!xUSPY5MXCHMAMNAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XCHMAMNHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Short ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Short ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Short ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMN Short ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMN Short ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XCHMAMX Long Signal Checking ...
bool XUSPY5XCHMAMXHasLongSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXCHMAMXEnableSignaller ||
!xUSPY5MXCHMAMXAllowLongSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XCHMAMXHasLongConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Long ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Long ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Long ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Long ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Long ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// XCHMAMX Short Signal Checking ...
bool XUSPY5XCHMAMXHasShortSignal()
{
//
bool result = false;
//
// Validate Args ...
if (!xUSPY5MXCHMAMXEnableSignaller ||
!xUSPY5MXCHMAMXAllowShortSignals)
{
return result;
}
//
// Retrieve Market Condition ...
XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition();
//
// Start Analysing Market based On Conditions ...
result =
//
// Base Condition:
xUSPY5Provider.XCHMAMXHasShortConditions()
//
&&
//
// Exceptions:
// there some commonly Exceptions which makes our choice incorrect,
// here we are combined knownly Exceptions ...
!(
//
// for Exception we used XLH Conditions as follow ...
//
// Check Conditions if Price In Signal Range ...
(mConditions.isXLHPriceInSignalRange &&
//
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Short ...
// PriceInSignalRange ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceInSignalRange ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceInSignalRange ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceInSignalRange ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Under Signal ...
(
//
((mConditions.isXLHPriceUnderSignal ||
mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Short ...
// PriceUnderSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceUnderSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceUnderSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceUnderSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is Over Signal ...
(
//
((mConditions.isXLHPriceOverSignal ||
mConditions.isXLHPriceCrossedOverSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Short ...
// PriceOverSignal ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceOverSignal ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceOverSignal ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceOverSignal ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
||
//
// Check Conditions if Price is not has clear state ...
(
//
((!mConditions.isXLHPriceOverSignal &&
!mConditions.isXLHPriceUnderSignal &&
!mConditions.isXLHPriceInSignalRange &&
!mConditions.isXLHPriceCrossedOverSignal &&
!mConditions.isXLHPriceCrossedUnderSignal) &&
(
//
// Next Step is to Check LL and HH Same Style ...
//
// XCHMAMX Short ...
// PriceFree ...
// Check if Both LL and HH Same In Length ...
((mConditions.isXLHLLSameInLength &&
mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceFree ...
// Check If LL Same In Length ...
((mConditions.isXLHLLSameInLength &&
!mConditions.isXLHHHSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceFree ...
// Check If HH is Same In Length ...
((mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
||
//
// XCHMAMX Short ...
// PriceFree ...
// Not Same LL or HH in Lenght ...
((!mConditions.isXLHHHSameInLength &&
!mConditions.isXLHLLSameInLength) &&
//
(
false)
//
)
//
)
//
)
//
)
//
)
//
;
//
return result;
}
//
// END Signal Providers ...
//