last ...
This commit is contained in:
@@ -451,6 +451,63 @@ struct X121Conditions
|
||||
bool isTenkanSenCrossedOverKijunSen;
|
||||
bool isTenkanSenCrossedUnderKijunSen;
|
||||
|
||||
//
|
||||
// XDELTA ...
|
||||
|
||||
//
|
||||
bool isDeltaBullish;
|
||||
bool isDeltaBearish;
|
||||
bool isDeltaSwitchedToBullish;
|
||||
bool isDeltaSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isDeltaOverMa;
|
||||
bool isDeltaUnderMa;
|
||||
bool isDeltaCrossedOverMa;
|
||||
bool isDeltaCrossedUnderMa;
|
||||
|
||||
//
|
||||
// XVOLUME ...
|
||||
|
||||
bool isBullishVolumeOverMa;
|
||||
bool isBullishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
bool isBullishVolumeUnderMa;
|
||||
bool isBullishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
bool isBullishVolumeIncreased;
|
||||
bool isBullishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
bool isBullishVolumeDecreased;
|
||||
bool isBullishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
bool isBearishVolumeOverMa;
|
||||
bool isBearishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
bool isBearishVolumeUnderMa;
|
||||
bool isBearishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
bool isBearishVolumeIncreased;
|
||||
bool isBearishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
bool isBearishVolumeDecreased;
|
||||
bool isBearishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
bool isVolumeSwitchedToBullish;
|
||||
bool isVolumeSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isBullishVolumeMaOverBearishVolumeMa;
|
||||
bool isBullishVolumeMaUnderBearishVolumeMa;
|
||||
|
||||
//
|
||||
// Complex Conditions ...
|
||||
|
||||
@@ -956,6 +1013,64 @@ struct X121Conditions
|
||||
isTenkanSenCrossedOverKijunSen = false;
|
||||
isTenkanSenCrossedUnderKijunSen = false;
|
||||
|
||||
//
|
||||
// XDELTA ...
|
||||
|
||||
//
|
||||
isDeltaBullish = false;
|
||||
isDeltaBearish = false;
|
||||
isDeltaSwitchedToBullish = false;
|
||||
isDeltaSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isDeltaOverMa = false;
|
||||
isDeltaUnderMa = false;
|
||||
isDeltaCrossedOverMa = false;
|
||||
isDeltaCrossedUnderMa = false;
|
||||
|
||||
//
|
||||
// XVOLUME ...
|
||||
|
||||
//
|
||||
isBullishVolumeOverMa = false;
|
||||
isBullishVolumeCrossedOverMa = false;
|
||||
|
||||
//
|
||||
isBullishVolumeUnderMa = false;
|
||||
isBullishVolumeCrossedUnderMa = false;
|
||||
|
||||
//
|
||||
isBullishVolumeIncreased = false;
|
||||
isBullishVolumeSwitchedToIncreased = false;
|
||||
|
||||
//
|
||||
isBullishVolumeDecreased = false;
|
||||
isBullishVolumeSwitchedToDecreased = false;
|
||||
|
||||
//
|
||||
isBearishVolumeOverMa = false;
|
||||
isBearishVolumeCrossedOverMa = false;
|
||||
|
||||
//
|
||||
isBearishVolumeUnderMa = false;
|
||||
isBearishVolumeCrossedUnderMa = false;
|
||||
|
||||
//
|
||||
isBearishVolumeIncreased = false;
|
||||
isBearishVolumeSwitchedToIncreased = false;
|
||||
|
||||
//
|
||||
isBearishVolumeDecreased = false;
|
||||
isBearishVolumeSwitchedToDecreased = false;
|
||||
|
||||
//
|
||||
isVolumeSwitchedToBullish = false;
|
||||
isVolumeSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isBullishVolumeMaOverBearishVolumeMa = false;
|
||||
isBullishVolumeMaUnderBearishVolumeMa = false;
|
||||
|
||||
//
|
||||
// Complex Conditions ...
|
||||
|
||||
@@ -1667,6 +1782,135 @@ struct X121Conditions
|
||||
bullishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
// XDELTA ...
|
||||
|
||||
//
|
||||
if (isDeltaOverMa)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isDeltaBullish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isDeltaCrossedOverMa)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
if (isDeltaSwitchedToBullish)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
|
||||
if (isDeltaBearish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isDeltaUnderMa)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isDeltaCrossedUnderMa)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
if (isDeltaSwitchedToBearish)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
// XVOLUME ...
|
||||
|
||||
//
|
||||
if (isBullishVolumeOverMa)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isBearishVolumeUnderMa)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isBullishVolumeIncreased)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isBearishVolumeDecreased)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isBullishVolumeMaOverBearishVolumeMa)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
if (isVolumeSwitchedToBullish)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
if (isBullishVolumeCrossedOverMa)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
if (isBearishVolumeCrossedUnderMa)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
if (isBullishVolumeSwitchedToIncreased)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
if (isBearishVolumeSwitchedToDecreased)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
if (isBearishVolumeOverMa)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isBullishVolumeUnderMa)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isBullishVolumeDecreased)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isBearishVolumeIncreased)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isBullishVolumeMaUnderBearishVolumeMa)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
if (isVolumeSwitchedToBearish)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
if (isBearishVolumeCrossedOverMa)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
if (isBullishVolumeCrossedUnderMa)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
if (isBullishVolumeSwitchedToDecreased)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
if (isBearishVolumeSwitchedToIncreased)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
@@ -2032,6 +2276,42 @@ struct X121Conditions
|
||||
ToString("isSenkouSpanACrossedUnderB", isSenkouSpanACrossedUnderB, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"XDELTA ..." + separator +
|
||||
"-----------------------" + separator +
|
||||
ToString("isDeltaBullish", isDeltaBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaBearish", isDeltaBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaSwitchedToBullish", isDeltaSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaSwitchedToBearish", isDeltaSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaOverMa", isDeltaOverMa, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaUnderMa", isDeltaUnderMa, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaCrossedOverMa", isDeltaCrossedOverMa, ignoreFalseConditions, separator) +
|
||||
ToString("isDeltaCrossedUnderMa", isDeltaCrossedUnderMa, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"XVOLUME ..." + separator +
|
||||
"-----------------------" + separator +
|
||||
ToString("isBullishVolumeOverMa", isBullishVolumeOverMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeCrossedOverMa", isBullishVolumeCrossedOverMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeUnderMa", isBullishVolumeUnderMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeCrossedUnderMa", isBullishVolumeCrossedUnderMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeIncreased", isBullishVolumeIncreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeSwitchedToIncreased", isBullishVolumeSwitchedToIncreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeDecreased", isBullishVolumeDecreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeSwitchedToDecreased", isBullishVolumeSwitchedToDecreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeOverMa", isBearishVolumeOverMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeCrossedOverMa", isBearishVolumeCrossedOverMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeUnderMa", isBearishVolumeUnderMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeCrossedUnderMa", isBearishVolumeCrossedUnderMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeIncreased", isBearishVolumeIncreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeSwitchedToIncreased", isBearishVolumeSwitchedToIncreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeDecreased", isBearishVolumeDecreased, ignoreFalseConditions, separator) +
|
||||
ToString("isBearishVolumeSwitchedToDecreased", isBearishVolumeSwitchedToDecreased, ignoreFalseConditions, separator) +
|
||||
ToString("isVolumeSwitchedToBullish", isVolumeSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isVolumeSwitchedToBearish", isVolumeSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeMaOverBearishVolumeMa", isBullishVolumeMaOverBearishVolumeMa, ignoreFalseConditions, separator) +
|
||||
ToString("isBullishVolumeMaUnderBearishVolumeMa", isBullishVolumeMaUnderBearishVolumeMa, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"Slopes ..." + separator +
|
||||
"-----------------------" + separator +
|
||||
ToString("isRsiSlopeBullish", isRsiSlopeBullish, ignoreFalseConditions, separator) +
|
||||
@@ -4061,6 +4341,18 @@ class XCX121Helper : public XCBase
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
conditions.isDeltaBullish = xdeltaConditions.isDeltaBullish;
|
||||
conditions.isDeltaBearish = xdeltaConditions.isDeltaBearish;
|
||||
conditions.isDeltaSwitchedToBullish = xdeltaConditions.isDeltaSwitchedToBullish;
|
||||
conditions.isDeltaSwitchedToBearish = xdeltaConditions.isDeltaSwitchedToBearish;
|
||||
|
||||
//
|
||||
conditions.isDeltaOverMa = xdeltaConditions.isDeltaOverMa;
|
||||
conditions.isDeltaUnderMa = xdeltaConditions.isDeltaUnderMa;
|
||||
conditions.isDeltaCrossedOverMa = xdeltaConditions.isDeltaCrossedOverMa;
|
||||
conditions.isDeltaCrossedUnderMa = xdeltaConditions.isDeltaCrossedUnderMa;
|
||||
|
||||
//
|
||||
// XVOLUME ...
|
||||
|
||||
@@ -4094,6 +4386,46 @@ class XCX121Helper : public XCBase
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeOverMa = xvolumeConditions.isBullishVolumeOverMa;
|
||||
conditions.isBullishVolumeCrossedOverMa = xvolumeConditions.isBullishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeUnderMa = xvolumeConditions.isBullishVolumeUnderMa;
|
||||
conditions.isBullishVolumeCrossedUnderMa = xvolumeConditions.isBullishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeIncreased = xvolumeConditions.isBullishVolumeIncreased;
|
||||
conditions.isBullishVolumeSwitchedToIncreased = xvolumeConditions.isBullishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeDecreased = xvolumeConditions.isBullishVolumeDecreased;
|
||||
conditions.isBullishVolumeSwitchedToDecreased = xvolumeConditions.isBullishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeOverMa = xvolumeConditions.isBearishVolumeOverMa;
|
||||
conditions.isBearishVolumeCrossedOverMa = xvolumeConditions.isBearishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeUnderMa = xvolumeConditions.isBearishVolumeUnderMa;
|
||||
conditions.isBearishVolumeCrossedUnderMa = xvolumeConditions.isBearishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeIncreased = xvolumeConditions.isBearishVolumeIncreased;
|
||||
conditions.isBearishVolumeSwitchedToIncreased = xvolumeConditions.isBearishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeDecreased = xvolumeConditions.isBearishVolumeDecreased;
|
||||
conditions.isBearishVolumeSwitchedToDecreased = xvolumeConditions.isBearishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
conditions.isVolumeSwitchedToBullish = xvolumeConditions.isVolumeSwitchedToBullish;
|
||||
conditions.isVolumeSwitchedToBearish = xvolumeConditions.isVolumeSwitchedToBearish;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeMaOverBearishVolumeMa = xvolumeConditions.isBullishVolumeMaOverBearishVolumeMa;
|
||||
conditions.isBullishVolumeMaUnderBearishVolumeMa = xvolumeConditions.isBullishVolumeMaUnderBearishVolumeMa;
|
||||
|
||||
//
|
||||
// Slopes ...
|
||||
|
||||
|
||||
@@ -164,6 +164,18 @@ struct X121XDELTAConditions
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
bool isDeltaBullish;
|
||||
bool isDeltaBearish;
|
||||
bool isDeltaSwitchedToBullish;
|
||||
bool isDeltaSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isDeltaOverMa;
|
||||
bool isDeltaUnderMa;
|
||||
bool isDeltaCrossedOverMa;
|
||||
bool isDeltaCrossedUnderMa;
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
X121XDELTAConditions()
|
||||
@@ -201,6 +213,18 @@ struct X121XDELTAConditions
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
isDeltaBullish = false;
|
||||
isDeltaBearish = false;
|
||||
isDeltaSwitchedToBullish = false;
|
||||
isDeltaSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isDeltaOverMa = false;
|
||||
isDeltaUnderMa = false;
|
||||
isDeltaCrossedOverMa = false;
|
||||
isDeltaCrossedUnderMa = false;
|
||||
|
||||
//
|
||||
ZeroMemory(this);
|
||||
}
|
||||
@@ -679,9 +703,43 @@ class XCX121XDELTAHelper : public XCBaseHelper
|
||||
//
|
||||
int cIDX = 1;
|
||||
int pIDX = cIDX + 1;
|
||||
int pPIDX = pIDX + 1;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
bool isDeltaBullish = conditions.deltaBuffer[cIDX] > conditions.deltaBuffer[pIDX];
|
||||
bool isDeltaBullishP = conditions.deltaBuffer[pIDX] > conditions.deltaBuffer[pPIDX];
|
||||
bool isDeltaSwitchedToBullish = isDeltaBullish &&
|
||||
!isDeltaBullishP;
|
||||
|
||||
//
|
||||
bool isDeltaBearish = conditions.deltaBuffer[cIDX] < conditions.deltaBuffer[pIDX];
|
||||
bool isDeltaBearishP = conditions.deltaBuffer[pIDX] < conditions.deltaBuffer[pPIDX];
|
||||
bool isDeltaSwitchedToBearish = isDeltaBearish &&
|
||||
!isDeltaBearishP;
|
||||
|
||||
//
|
||||
bool isDeltaOverMa = conditions.deltaBuffer[cIDX] > conditions.deltaMaBuffer[cIDX];
|
||||
bool isDeltaOverMaP = conditions.deltaBuffer[pIDX] > conditions.deltaMaBuffer[pIDX];
|
||||
bool isDeltaCrossedOverMa = isDeltaOverMa &&
|
||||
!isDeltaOverMaP;
|
||||
|
||||
//
|
||||
bool isDeltaUnderMa = conditions.deltaBuffer[cIDX] < conditions.deltaMaBuffer[cIDX];
|
||||
bool isDeltaUnderMaP = conditions.deltaBuffer[pIDX] < conditions.deltaMaBuffer[pIDX];
|
||||
bool isDeltaCrossedUnderMa = isDeltaUnderMa &&
|
||||
!isDeltaUnderMaP;
|
||||
|
||||
//
|
||||
conditions.isDeltaBullish = isDeltaBullish;
|
||||
conditions.isDeltaBearish = isDeltaBearish;
|
||||
conditions.isDeltaSwitchedToBullish = isDeltaSwitchedToBullish;
|
||||
conditions.isDeltaSwitchedToBearish = isDeltaSwitchedToBearish;
|
||||
|
||||
//
|
||||
conditions.isDeltaOverMa = isDeltaOverMa;
|
||||
conditions.isDeltaUnderMa = isDeltaUnderMa;
|
||||
conditions.isDeltaCrossedOverMa = isDeltaCrossedOverMa;
|
||||
conditions.isDeltaCrossedUnderMa = isDeltaCrossedUnderMa;
|
||||
|
||||
//
|
||||
Cleanup();
|
||||
|
||||
@@ -168,6 +168,44 @@ struct X121XVOLUMEConditions
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
bool isBullishVolumeOverMa;
|
||||
bool isBullishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
bool isBullishVolumeUnderMa;
|
||||
bool isBullishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
bool isBullishVolumeIncreased;
|
||||
bool isBullishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
bool isBullishVolumeDecreased;
|
||||
bool isBullishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
bool isBearishVolumeOverMa;
|
||||
bool isBearishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
bool isBearishVolumeUnderMa;
|
||||
bool isBearishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
bool isBearishVolumeIncreased;
|
||||
bool isBearishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
bool isBearishVolumeDecreased;
|
||||
bool isBearishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
bool isVolumeSwitchedToBullish;
|
||||
bool isVolumeSwitchedToBearish;
|
||||
bool isBullishVolumeMaOverBearishVolumeMa;
|
||||
bool isBullishVolumeMaUnderBearishVolumeMa;
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
X121XVOLUMEConditions()
|
||||
@@ -207,6 +245,44 @@ struct X121XVOLUMEConditions
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
isBullishVolumeOverMa = false;
|
||||
isBullishVolumeCrossedOverMa = false;
|
||||
|
||||
//
|
||||
isBullishVolumeUnderMa = false;
|
||||
isBullishVolumeCrossedUnderMa = false;
|
||||
|
||||
//
|
||||
isBullishVolumeIncreased = false;
|
||||
isBullishVolumeSwitchedToIncreased = false;
|
||||
|
||||
//
|
||||
isBullishVolumeDecreased = false;
|
||||
isBullishVolumeSwitchedToDecreased = false;
|
||||
|
||||
//
|
||||
isBearishVolumeOverMa = false;
|
||||
isBearishVolumeCrossedOverMa = false;
|
||||
|
||||
//
|
||||
isBearishVolumeUnderMa = false;
|
||||
isBearishVolumeCrossedUnderMa = false;
|
||||
|
||||
//
|
||||
isBearishVolumeIncreased = false;
|
||||
isBearishVolumeSwitchedToIncreased = false;
|
||||
|
||||
//
|
||||
isBearishVolumeDecreased = false;
|
||||
isBearishVolumeSwitchedToDecreased = false;
|
||||
|
||||
//
|
||||
isVolumeSwitchedToBullish = false;
|
||||
isVolumeSwitchedToBearish = false;
|
||||
isBullishVolumeMaOverBearishVolumeMa = false;
|
||||
isBullishVolumeMaUnderBearishVolumeMa = false;
|
||||
|
||||
//
|
||||
ZeroMemory(this);
|
||||
}
|
||||
@@ -747,9 +823,109 @@ class XCX121XVOLUMEHelper : public XCBaseHelper
|
||||
//
|
||||
int cIDX = 1;
|
||||
int pIDX = cIDX + 1;
|
||||
int pPIDX = pIDX + 1;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
bool isBullishVolumeOverMa = conditions.bullishVolumeBuffer[cIDX] > conditions.bullishVolumeMaBuffer[cIDX];
|
||||
bool isBullishVolumeOverMaP = conditions.bullishVolumeBuffer[pIDX] > conditions.bullishVolumeMaBuffer[pIDX];
|
||||
bool isBullishVolumeCrossedOverMa = isBullishVolumeOverMa &&
|
||||
!isBullishVolumeOverMaP;
|
||||
|
||||
//
|
||||
bool isBullishVolumeUnderMa = conditions.bullishVolumeBuffer[cIDX] < conditions.bullishVolumeMaBuffer[cIDX];
|
||||
bool isBullishVolumeUnderMaP = conditions.bullishVolumeBuffer[pIDX] < conditions.bullishVolumeMaBuffer[pIDX];
|
||||
bool isBullishVolumeCrossedUnderMa = isBullishVolumeUnderMa &&
|
||||
!isBullishVolumeUnderMaP;
|
||||
|
||||
//
|
||||
bool isBullishVolumeIncreased = conditions.bullishVolumeBuffer[cIDX] > conditions.bullishVolumeBuffer[pIDX];
|
||||
bool isBullishVolumeIncreasedP = conditions.bullishVolumeBuffer[pIDX] > conditions.bullishVolumeBuffer[pPIDX];
|
||||
bool isBullishVolumeSwitchedToIncreased = isBullishVolumeIncreased &&
|
||||
!isBullishVolumeIncreasedP;
|
||||
|
||||
//
|
||||
bool isBullishVolumeDecreased = conditions.bullishVolumeBuffer[cIDX] < conditions.bullishVolumeBuffer[pIDX];
|
||||
bool isBullishVolumeDecreasedP = conditions.bullishVolumeBuffer[pIDX] < conditions.bullishVolumeBuffer[pPIDX];
|
||||
bool isBullishVolumeSwitchedToDecreased = isBullishVolumeDecreased &&
|
||||
!isBullishVolumeDecreasedP;
|
||||
|
||||
//
|
||||
bool isBearishVolumeOverMa = conditions.bearishVolumeBuffer[cIDX] > conditions.bearishVolumeMaBuffer[cIDX];
|
||||
bool isBearishVolumeOverMaP = conditions.bearishVolumeBuffer[pIDX] > conditions.bearishVolumeMaBuffer[pIDX];
|
||||
bool isBearishVolumeCrossedOverMa = isBearishVolumeOverMa &&
|
||||
!isBearishVolumeOverMaP;
|
||||
|
||||
//
|
||||
bool isBearishVolumeUnderMa = conditions.bearishVolumeBuffer[cIDX] < conditions.bearishVolumeMaBuffer[cIDX];
|
||||
bool isBearishVolumeUnderMaP = conditions.bearishVolumeBuffer[pIDX] < conditions.bearishVolumeMaBuffer[pIDX];
|
||||
bool isBearishVolumeCrossedUnderMa = isBearishVolumeUnderMa &&
|
||||
!isBearishVolumeUnderMaP;
|
||||
|
||||
//
|
||||
bool isBearishVolumeIncreased = conditions.bearishVolumeBuffer[cIDX] > conditions.bearishVolumeBuffer[pIDX];
|
||||
bool isBearishVolumeIncreasedP = conditions.bearishVolumeBuffer[pIDX] > conditions.bearishVolumeBuffer[pPIDX];
|
||||
bool isBearishVolumeSwitchedToIncreased = isBearishVolumeIncreased &&
|
||||
!isBearishVolumeIncreasedP;
|
||||
|
||||
//
|
||||
bool isBearishVolumeDecreased = conditions.bearishVolumeBuffer[cIDX] < conditions.bearishVolumeBuffer[pIDX];
|
||||
bool isBearishVolumeDecreasedP = conditions.bearishVolumeBuffer[pIDX] < conditions.bearishVolumeBuffer[pPIDX];
|
||||
bool isBearishVolumeSwitchedToDecreased = isBearishVolumeDecreased &&
|
||||
!isBearishVolumeDecreasedP;
|
||||
|
||||
//
|
||||
bool isBullishVolumeMaOverBearishVolumeMa = conditions.bullishVolumeMaBuffer[cIDX] > conditions.bearishVolumeMaBuffer[cIDX];
|
||||
bool isBullishVolumeMaOverBearishVolumeMaP = conditions.bullishVolumeMaBuffer[pIDX] > conditions.bearishVolumeMaBuffer[pIDX];
|
||||
bool isVolumeSwitchedToBullish = isBullishVolumeMaOverBearishVolumeMa &&
|
||||
!isBullishVolumeMaOverBearishVolumeMaP;
|
||||
|
||||
//
|
||||
bool isBullishVolumeMaUnderBearishVolumeMa = conditions.bullishVolumeMaBuffer[cIDX] < conditions.bearishVolumeMaBuffer[cIDX];
|
||||
bool isBullishVolumeMaUnderBearishVolumeMaP = conditions.bullishVolumeMaBuffer[pIDX] < conditions.bearishVolumeMaBuffer[pIDX];
|
||||
bool isVolumeSwitchedToBearish = isBullishVolumeMaUnderBearishVolumeMa &&
|
||||
!isBullishVolumeMaUnderBearishVolumeMaP;
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeOverMa = isBullishVolumeOverMa;
|
||||
conditions.isBullishVolumeCrossedOverMa = isBullishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeUnderMa = isBullishVolumeUnderMa;
|
||||
conditions.isBullishVolumeCrossedUnderMa = isBullishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeIncreased = isBullishVolumeIncreased;
|
||||
conditions.isBullishVolumeSwitchedToIncreased = isBullishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
conditions.isBullishVolumeDecreased = isBullishVolumeDecreased;
|
||||
conditions.isBullishVolumeSwitchedToDecreased = isBullishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeOverMa = isBearishVolumeOverMa;
|
||||
conditions.isBearishVolumeCrossedOverMa = isBearishVolumeCrossedOverMa;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeUnderMa = isBearishVolumeUnderMa;
|
||||
conditions.isBearishVolumeCrossedUnderMa = isBearishVolumeCrossedUnderMa;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeIncreased = isBearishVolumeIncreased;
|
||||
conditions.isBearishVolumeSwitchedToIncreased = isBearishVolumeSwitchedToIncreased;
|
||||
|
||||
//
|
||||
conditions.isBearishVolumeDecreased = isBearishVolumeDecreased;
|
||||
conditions.isBearishVolumeSwitchedToDecreased = isBearishVolumeSwitchedToDecreased;
|
||||
|
||||
//
|
||||
conditions.isVolumeSwitchedToBullish = isVolumeSwitchedToBullish;
|
||||
conditions.isVolumeSwitchedToBearish = isVolumeSwitchedToBearish;
|
||||
conditions.isBullishVolumeMaOverBearishVolumeMa = isBullishVolumeMaOverBearishVolumeMa;
|
||||
conditions.isBullishVolumeMaUnderBearishVolumeMa = isBullishVolumeMaUnderBearishVolumeMa;
|
||||
|
||||
//
|
||||
Cleanup();
|
||||
|
||||
Reference in New Issue
Block a user