last ...
This commit is contained in:
@@ -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