Initial Commit ...
This commit is contained in:
@@ -0,0 +1,346 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// XCHMA Commonly Used Calculations ...
|
||||
|
||||
//
|
||||
// XCHMA Check LC State ...
|
||||
bool isLCFastOverSlow = XCHMAIsLCFastOverSlow(1);
|
||||
bool isLCFastUnderSlow = XCHMAIsLCFastUnderSlow(1);
|
||||
|
||||
//
|
||||
// XCHMA Check MC State ...
|
||||
bool isLMFastOverSlow = XCHMAIsMCFastOverSlow(1);
|
||||
bool isMCFastUnderSlow = XCHMAIsMCFastUnderSlow(1);
|
||||
|
||||
//
|
||||
double isSCFastCrossedOverSlow = XCHMAIsSCFastCrossedOverSlow(1);
|
||||
|
||||
//
|
||||
// XCHMA Min/Max MC/LC ...
|
||||
//
|
||||
// Candle 1 ...
|
||||
//
|
||||
// MIN ...
|
||||
double minLCMC1 = XCHMAGetMinMCLCValue(1);
|
||||
|
||||
//
|
||||
// MAX ...
|
||||
double maxLCMC1 = XCHMAGetMaxMCLCValue(1);
|
||||
|
||||
//
|
||||
// Candle 2 ...
|
||||
//
|
||||
// MIN ...
|
||||
double minLCMC2 = XCHMAGetMinMCLCValue(2);
|
||||
|
||||
//
|
||||
// MAX ...
|
||||
double maxLCMC2 = XCHMAGetMaxMCLCValue(2);
|
||||
|
||||
//
|
||||
// Max SC Fast Value ...
|
||||
double maxSCFast = XCHMAGetSCFastMaxInLoopback(xMAPNumberOfItemsPerTick);
|
||||
double maxSCSlow = XCHMAGetSCSlowMaxInLoopback(xMAPNumberOfItemsPerTick);
|
||||
|
||||
//
|
||||
// Max MC Fast Value ...
|
||||
double maxMCFast = XCHMAGetMCFastMaxInLoopback(xMAPNumberOfItemsPerTick);
|
||||
double maxMCSlow = XCHMAGetMCSlowMaxInLoopback(xMAPNumberOfItemsPerTick);
|
||||
|
||||
//
|
||||
// Max SC Fast Value ...
|
||||
double maxLCFast = XCHMAGetLCFastMaxInLoopback(xMAPNumberOfItemsPerTick);
|
||||
double maxLCSlow = XCHMAGetLCSlowMaxInLoopback(xMAPNumberOfItemsPerTick);
|
||||
|
||||
//
|
||||
// XCHLH Verifications ...
|
||||
//
|
||||
bool isLCMCHHSame = XCHLHIsSameLCMCHH(1);
|
||||
bool isLCMCHHSameInPast = XCHLHIsLCMCHHSameInLoopback(xCHLHScLength);
|
||||
|
||||
//
|
||||
bool isLCMCLLSame = XCHLHIsSameLCMCLL(1);
|
||||
bool isLCMCLLSameInPast = XCHLHIsLCMCLLSameInLoopback(xCHLHScLength);
|
||||
|
||||
//
|
||||
bool isMCSCHHSame = XCHLHIsSameMCSCHH(1);
|
||||
bool isMCSCHHSameInPast = XCHLHIsMCSCHHSameInLoopback(xCHLHScLength);
|
||||
|
||||
//
|
||||
bool isMCSCLLSame = XCHLHIsSameMCSCLL(1);
|
||||
bool isMCSCLLSameInPast = XCHLHIsMCSCLLSameInLoopback(xCHLHScLength);
|
||||
|
||||
//
|
||||
double xCHLHLCDiff1 = XCHLHGetLCDiff(1);
|
||||
double xCHLHMCDiff1 = XCHLHGetMCDiff(1);
|
||||
|
||||
//
|
||||
// XCHMA Max LC MC Verify in Up Tredns ...
|
||||
bool isLCMCMaxVerified =
|
||||
isLCFastOverSlow &&
|
||||
isLMFastOverSlow
|
||||
? xCHMAMcFastBuffer[1] < maxMCFast &&
|
||||
xCHMALcFastBuffer[1] < maxLCFast
|
||||
: true;
|
||||
|
||||
//
|
||||
// XCHMA MC/LC Verification ...
|
||||
bool isMCLCVerified =
|
||||
//
|
||||
// Check MC or LC is Trens Up for Paste 3 Candle ...
|
||||
(
|
||||
//
|
||||
(xCHMAMcFastBuffer[1] > xCHMAMcSlowBuffer[1]) ||
|
||||
(xCHMALcFastBuffer[1] > xCHMALcSlowBuffer[1])
|
||||
//
|
||||
) &&
|
||||
(
|
||||
//
|
||||
(xCHMAMcFastBuffer[2] > xCHMAMcSlowBuffer[3]) ||
|
||||
(xCHMALcFastBuffer[2] > xCHMALcSlowBuffer[3])
|
||||
//
|
||||
) &&
|
||||
(
|
||||
//
|
||||
(xCHMAMcFastBuffer[3] > xCHMAMcSlowBuffer[3]) ||
|
||||
(xCHMALcFastBuffer[3] > xCHMALcSlowBuffer[3])
|
||||
//
|
||||
) &&
|
||||
//
|
||||
// Check SC Fast Over LC Slow and LC Fast ...
|
||||
xCHMAScFastBuffer[1] > xCHMALcFastBuffer[1] &&
|
||||
xCHMAScFastBuffer[1] > xCHMALcSlowBuffer[1]
|
||||
//
|
||||
&& isLCMCMaxVerified;
|
||||
;
|
||||
|
||||
//
|
||||
double signalSlope = GetSlope(2, 1, xTDSignalBuffer);
|
||||
double bearishSlope = GetSlope(2, 1, xTDBearishBuffer);
|
||||
double bullishSlope = GetSlope(2, 1, xTDBullishBuffer);
|
||||
|
||||
//
|
||||
double bullishSlopeOnCross = 0;
|
||||
int bullishCrossOverBearishCount = XTDCountBullOverBearCrossesInLoopback(xMAPNumberOfItemsPerTick);
|
||||
if (bullishCrossOverBearishCount > 0)
|
||||
{
|
||||
//
|
||||
int bullOverBearCrossIndex = XTDFindBullOverBearCrossIndexInLoopback(xMAPNumberOfItemsPerTick);
|
||||
if (bullOverBearCrossIndex > -1)
|
||||
{
|
||||
bullishSlopeOnCross = GetSlope(bullOverBearCrossIndex + 1, bullOverBearCrossIndex, xTDBullishBuffer);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Check MA States and LH States ...
|
||||
bool isLCUp = XCHMAIsLCFastOverSlow(1);
|
||||
bool isMCUp = XCHMAIsMCFastOverSlow(1);
|
||||
bool isSCUp = XCHMAIsSCFastOverSlow(1);
|
||||
bool isSameMCLCHH = XCHLHIsSameLCMCHH(1);
|
||||
bool isSameSCMCHH = XCHLHIsSameMCSCHH(1);
|
||||
bool isSCHHIncreaded = XCHLHIsLCHHInreasedInLoopback(xMAPNumberOfItemsPerTick);
|
||||
bool isSCLLIncreaded = XCHLHIsLCLLInreasedInLoopback(xMAPNumberOfItemsPerTick);
|
||||
double lcDiff = xCHLHLcHHBuffer[1] - xCHLHLcLLBuffer[1];
|
||||
double mcDiff = xCHLHMcHHBuffer[1] - xCHLHMcLLBuffer[1];
|
||||
double scDiff = xCHLHScHHBuffer[1] - xCHLHScLLBuffer[1];
|
||||
//
|
||||
// Gholleh ...
|
||||
bool isInPeak =
|
||||
//
|
||||
isLCUp
|
||||
//
|
||||
&&
|
||||
//
|
||||
isMCUp
|
||||
//
|
||||
&&
|
||||
//
|
||||
isSCUp
|
||||
//
|
||||
&&
|
||||
//
|
||||
isSCHHIncreaded
|
||||
//
|
||||
&&
|
||||
//
|
||||
isSCLLIncreaded
|
||||
//
|
||||
&&
|
||||
//
|
||||
lcDiff > mcDiff * 2 && mcDiff > scDiff * 1.3
|
||||
//
|
||||
;
|
||||
|
||||
//
|
||||
// Darreh ...
|
||||
bool isInVale =
|
||||
//
|
||||
// Check XTD Vales ...
|
||||
|
||||
// lcDiff > mcDiff * 2 && mcDiff > scDiff * 1.3
|
||||
//
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Method 1
|
||||
// this Method works Based On SC Cycle and Get Verifications from Others ...
|
||||
bool isMethod1HasSignal =
|
||||
//
|
||||
// Check LC Fast Cross Over SC Slow ...
|
||||
xCHMAScFastBuffer[1] > xCHMAScSlowBuffer[1] &&
|
||||
!(xCHMAScFastBuffer[2] > xCHMAScSlowBuffer[2]) &&
|
||||
//
|
||||
isMCLCVerified &&
|
||||
//
|
||||
!isLCMCHHSame &&
|
||||
!isLCMCHHSameInPast &&
|
||||
!isMCSCHHSame &&
|
||||
!isMCSCHHSameInPast;
|
||||
|
||||
//
|
||||
// Method 1
|
||||
// this Method works Based On SC Cycle and Get Verifications from Others ...
|
||||
bool isMethod2HasSignal =
|
||||
//
|
||||
// Check LC Fast Over SC Slow ...
|
||||
xCHMAScFastBuffer[1] > xCHMAScSlowBuffer[1] &&
|
||||
xCHMAScFastBuffer[2] > xCHMAScSlowBuffer[2] &&
|
||||
//
|
||||
// Check Crosses Between SC Slow and minMCLC Value ...
|
||||
xCHMAScSlowBuffer[1] > minLCMC1 &&
|
||||
xCHMAScSlowBuffer[2] <= minLCMC2 &&
|
||||
//
|
||||
isMCLCVerified &&
|
||||
//
|
||||
!isLCMCHHSame &&
|
||||
!isLCMCHHSameInPast &&
|
||||
!isMCSCHHSame &&
|
||||
!isMCSCHHSameInPast
|
||||
//
|
||||
;
|
||||
|
||||
//
|
||||
// Method 3 ...
|
||||
bool isMethod3HasSignal =
|
||||
//
|
||||
isSCFastCrossedOverSlow &&
|
||||
//
|
||||
xCHMAScFastBuffer[1] < maxLCMC1 &&
|
||||
//
|
||||
xCHMAScSlowBuffer[1] > minLCMC1 &&
|
||||
//
|
||||
xCHMAMcFastBuffer[1] <= xCHMALcFastBuffer[1] &&
|
||||
//
|
||||
isLCFastOverSlow &&
|
||||
//
|
||||
isLMFastOverSlow
|
||||
//
|
||||
;
|
||||
|
||||
//
|
||||
// Method 4 ...
|
||||
// Using XCHLH in related to Crosses ...
|
||||
bool isMethod4HasSignal =
|
||||
//
|
||||
isSCFastCrossedOverSlow &&
|
||||
//
|
||||
XCHMAIsSCFastUnderSlow(2) &&
|
||||
XCHMAIsSCFastUnderSlow(3) &&
|
||||
XCHMAIsSCFastUnderSlow(4) &&
|
||||
//
|
||||
!(
|
||||
//
|
||||
isMCFastUnderSlow &&
|
||||
isLCFastUnderSlow
|
||||
//
|
||||
) &&
|
||||
//
|
||||
xCHMAScFastBuffer[1] < minLCMC1 &&
|
||||
//
|
||||
isLCMCLLSame &&
|
||||
//
|
||||
isMCSCLLSameInPast &&
|
||||
//
|
||||
xCHLHLCDiff1 > xCHLHMCDiff1 * 2 &&
|
||||
//
|
||||
(
|
||||
//
|
||||
xCHLHScHHBuffer[1] < xCHLHMcHHBuffer[1] &&
|
||||
xCHLHScLLBuffer[1] > xCHLHMcLLBuffer[1]
|
||||
//
|
||||
) &&
|
||||
//
|
||||
!XCHLHIsMCHHDecreasedInLoopback(xMAPNumberOfItemsPerTick);
|
||||
//
|
||||
;
|
||||
|
||||
//
|
||||
// Method 5 ...
|
||||
bool isMethod5HasSignal =
|
||||
XCHMAIsMCFastCrossedOverSlow(1);
|
||||
|
||||
//
|
||||
// Method 6 ...
|
||||
bool isMethod6HasSignal =
|
||||
//
|
||||
// Signal Crossed Over Bearish ...
|
||||
XTDIsSignalCrossedOverBear(1)
|
||||
//
|
||||
&&
|
||||
//
|
||||
// Count Signal Crosses Not Big Than 1 ...
|
||||
XTDCountSignalOverBearCrossesInLoopback(xMAPNumberOfItemsPerTick) == 1
|
||||
//
|
||||
&&
|
||||
//
|
||||
// Check Slope of Signal Must be Greater tha Slope Of Bullish ...
|
||||
signalSlope > bullishSlope
|
||||
//
|
||||
&&
|
||||
//
|
||||
// Count Bull Cross Over Bear items Bigger than 0 ...
|
||||
bullishCrossOverBearishCount > 0
|
||||
//
|
||||
&&
|
||||
//
|
||||
// Check Signal Slope in Compare with Bull Cross Over Bear Slop ...
|
||||
signalSlope > bullishSlopeOnCross
|
||||
//
|
||||
&&
|
||||
//
|
||||
// MC HH Not Decreased ...
|
||||
!XCHLHIsMCHHDecreasedInLoopback(xMAPNumberOfItemsPerTick)
|
||||
//
|
||||
&&
|
||||
//
|
||||
!isInPeak
|
||||
//
|
||||
&&
|
||||
//
|
||||
isLCUp
|
||||
//
|
||||
&&
|
||||
//
|
||||
isMCUp
|
||||
//
|
||||
;
|
||||
Reference in New Issue
Block a user