Complete XSMC SMPV Strategy and Prepare for Testing Phase 1 ...
This commit is contained in:
@@ -3531,16 +3531,20 @@ class XCX121Helper : public XCBaseHelper
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
int cIDX = 1;
|
||||
int pIDX = cIDX + 1;
|
||||
|
||||
//
|
||||
// XSAR ...
|
||||
|
||||
//
|
||||
bool isSarBullish = conditions.sarBuffer[cIndex] < cBar.low;
|
||||
bool isSarBullishPrev = conditions.sarBuffer[pIndex] < pBar.low;
|
||||
bool isSarBullish = conditions.sarBuffer[cIDX] < cBar.low;
|
||||
bool isSarBullishPrev = conditions.sarBuffer[pIDX] < pBar.low;
|
||||
|
||||
//
|
||||
bool isSarBearish = conditions.sarBuffer[cIndex] > cBar.high;
|
||||
bool isSarBearishPrev = conditions.sarBuffer[pIndex] > pBar.high;
|
||||
bool isSarBearish = conditions.sarBuffer[cIDX] > cBar.high;
|
||||
bool isSarBearishPrev = conditions.sarBuffer[pIDX] > pBar.high;
|
||||
|
||||
//
|
||||
bool isSarSwitchedToBullish = isSarBullish &&
|
||||
@@ -3552,73 +3556,73 @@ class XCX121Helper : public XCBaseHelper
|
||||
// XPV ...
|
||||
|
||||
//
|
||||
bool isNewPeak = conditions.peaksBuffer[cIndex] != conditions.peaksBuffer[pIndex];
|
||||
bool isNewPeak = conditions.peaksBuffer[cIDX] != conditions.peaksBuffer[pIDX];
|
||||
bool isNewPeakOverLast = isNewPeak &&
|
||||
conditions.peaksBuffer[cIndex] > conditions.peaksBuffer[pIndex];
|
||||
conditions.peaksBuffer[cIDX] > conditions.peaksBuffer[pIDX];
|
||||
bool isNewPeakUnderLast = isNewPeak &&
|
||||
conditions.peaksBuffer[cIndex] < conditions.peaksBuffer[pIndex];
|
||||
conditions.peaksBuffer[cIDX] < conditions.peaksBuffer[pIDX];
|
||||
|
||||
//
|
||||
bool isNewVale = conditions.valesBuffer[cIndex] != conditions.valesBuffer[pIndex];
|
||||
bool isNewVale = conditions.valesBuffer[cIDX] != conditions.valesBuffer[pIDX];
|
||||
bool isNewValeOverLast = isNewVale &&
|
||||
conditions.valesBuffer[cIndex] > conditions.valesBuffer[pIndex];
|
||||
conditions.valesBuffer[cIDX] > conditions.valesBuffer[pIDX];
|
||||
bool isNewValeUnderLast = isNewVale &&
|
||||
conditions.valesBuffer[cIndex] < conditions.valesBuffer[pIndex];
|
||||
conditions.valesBuffer[cIDX] < conditions.valesBuffer[pIDX];
|
||||
|
||||
//
|
||||
// XVWAP ...
|
||||
|
||||
//
|
||||
bool isVWapFastBullish = IsVWAPBullish(conditions.vwapFastStateBuffer[cIndex]);
|
||||
bool isVWapFastBullishPrev = IsVWAPBullish(conditions.vwapFastStateBuffer[pIndex]);
|
||||
bool isVWapFastBullish = IsVWAPBullish(conditions.vwapFastStateBuffer[cIDX]);
|
||||
bool isVWapFastBullishPrev = IsVWAPBullish(conditions.vwapFastStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapFastBearish = IsVWAPBearish(conditions.vwapFastStateBuffer[cIndex]);
|
||||
bool isVWapFastBearishPrev = IsVWAPBearish(conditions.vwapFastStateBuffer[pIndex]);
|
||||
bool isVWapFastBearish = IsVWAPBearish(conditions.vwapFastStateBuffer[cIDX]);
|
||||
bool isVWapFastBearishPrev = IsVWAPBearish(conditions.vwapFastStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapFastNeutural = IsVWAPNeutural(conditions.vwapFastStateBuffer[cIndex]);
|
||||
bool isVWapFastNeuturalPrev = IsVWAPNeutural(conditions.vwapFastStateBuffer[pIndex]);
|
||||
bool isVWapFastNeutural = IsVWAPNeutural(conditions.vwapFastStateBuffer[cIDX]);
|
||||
bool isVWapFastNeuturalPrev = IsVWAPNeutural(conditions.vwapFastStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapMidBullish = IsVWAPBullish(conditions.vwapMidStateBuffer[cIndex]);
|
||||
bool isVWapMidBullishPrev = IsVWAPBullish(conditions.vwapMidStateBuffer[pIndex]);
|
||||
bool isVWapMidBullish = IsVWAPBullish(conditions.vwapMidStateBuffer[cIDX]);
|
||||
bool isVWapMidBullishPrev = IsVWAPBullish(conditions.vwapMidStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapMidBearish = IsVWAPBearish(conditions.vwapMidStateBuffer[cIndex]);
|
||||
bool isVWapMidBearishPrev = IsVWAPBearish(conditions.vwapMidStateBuffer[pIndex]);
|
||||
bool isVWapMidBearish = IsVWAPBearish(conditions.vwapMidStateBuffer[cIDX]);
|
||||
bool isVWapMidBearishPrev = IsVWAPBearish(conditions.vwapMidStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapMidNeutural = IsVWAPNeutural(conditions.vwapMidStateBuffer[cIndex]);
|
||||
bool isVWapMidNeuturalPrev = IsVWAPNeutural(conditions.vwapMidStateBuffer[pIndex]);
|
||||
bool isVWapMidNeutural = IsVWAPNeutural(conditions.vwapMidStateBuffer[cIDX]);
|
||||
bool isVWapMidNeuturalPrev = IsVWAPNeutural(conditions.vwapMidStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapSlowBullish = IsVWAPBullish(conditions.vwapSlowStateBuffer[cIndex]);
|
||||
bool isVWapSlowBullishPrev = IsVWAPBullish(conditions.vwapSlowStateBuffer[pIndex]);
|
||||
bool isVWapSlowBullish = IsVWAPBullish(conditions.vwapSlowStateBuffer[cIDX]);
|
||||
bool isVWapSlowBullishPrev = IsVWAPBullish(conditions.vwapSlowStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapSlowBearish = IsVWAPBearish(conditions.vwapSlowStateBuffer[cIndex]);
|
||||
bool isVWapSlowBearishPrev = IsVWAPBearish(conditions.vwapSlowStateBuffer[pIndex]);
|
||||
bool isVWapSlowBearish = IsVWAPBearish(conditions.vwapSlowStateBuffer[cIDX]);
|
||||
bool isVWapSlowBearishPrev = IsVWAPBearish(conditions.vwapSlowStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapSlowNeutural = IsVWAPNeutural(conditions.vwapSlowStateBuffer[cIndex]);
|
||||
bool isVWapSlowNeuturalPrev = IsVWAPNeutural(conditions.vwapSlowStateBuffer[pIndex]);
|
||||
bool isVWapSlowNeutural = IsVWAPNeutural(conditions.vwapSlowStateBuffer[cIDX]);
|
||||
bool isVWapSlowNeuturalPrev = IsVWAPNeutural(conditions.vwapSlowStateBuffer[pIDX]);
|
||||
|
||||
//
|
||||
bool isVWapFastOverMid = conditions.vwapFastBuffer[cIndex] > conditions.vwapMidBuffer[cIndex];
|
||||
bool isVWapFastOverMidPrev = conditions.vwapFastBuffer[pIndex] > conditions.vwapMidBuffer[pIndex];
|
||||
bool isVWapFastOverMid = conditions.vwapFastBuffer[cIDX] > conditions.vwapMidBuffer[cIDX];
|
||||
bool isVWapFastOverMidPrev = conditions.vwapFastBuffer[pIDX] > conditions.vwapMidBuffer[pIDX];
|
||||
|
||||
//
|
||||
bool isVWapMidOverSlow = conditions.vwapMidBuffer[cIndex] > conditions.vwapSlowBuffer[cIndex];
|
||||
bool isVWapMidOverSlowPrev = conditions.vwapMidBuffer[pIndex] > conditions.vwapSlowBuffer[pIndex];
|
||||
bool isVWapMidOverSlow = conditions.vwapMidBuffer[cIDX] > conditions.vwapSlowBuffer[cIDX];
|
||||
bool isVWapMidOverSlowPrev = conditions.vwapMidBuffer[pIDX] > conditions.vwapSlowBuffer[pIDX];
|
||||
|
||||
//
|
||||
bool isVWapFastUnderMid = conditions.vwapFastBuffer[cIndex] < conditions.vwapMidBuffer[cIndex];
|
||||
bool isVWapFastUnderMidPrev = conditions.vwapFastBuffer[pIndex] < conditions.vwapMidBuffer[pIndex];
|
||||
bool isVWapFastUnderMid = conditions.vwapFastBuffer[cIDX] < conditions.vwapMidBuffer[cIDX];
|
||||
bool isVWapFastUnderMidPrev = conditions.vwapFastBuffer[pIDX] < conditions.vwapMidBuffer[pIDX];
|
||||
|
||||
//
|
||||
bool isVWapMidUnderSlow = conditions.vwapMidBuffer[cIndex] < conditions.vwapSlowBuffer[cIndex];
|
||||
bool isVWapMidUnderSlowPrev = conditions.vwapMidBuffer[pIndex] < conditions.vwapSlowBuffer[pIndex];
|
||||
bool isVWapMidUnderSlow = conditions.vwapMidBuffer[cIDX] < conditions.vwapSlowBuffer[cIDX];
|
||||
bool isVWapMidUnderSlowPrev = conditions.vwapMidBuffer[pIDX] < conditions.vwapSlowBuffer[pIDX];
|
||||
|
||||
//
|
||||
bool isVWapBullishState = isVWapFastBullish &&
|
||||
@@ -3677,32 +3681,32 @@ class XCX121Helper : public XCBaseHelper
|
||||
// XFIBONACCI ...
|
||||
|
||||
//
|
||||
bool isOerFib1 = cBar.low > conditions.fl1Buffer[cIndex];
|
||||
bool isOerFib2 = cBar.low > conditions.fl2Buffer[cIndex];
|
||||
bool isOerFib3 = cBar.low > conditions.fl3Buffer[cIndex];
|
||||
bool isOerFib4 = cBar.low > conditions.fl4Buffer[cIndex];
|
||||
bool isOerFib5 = cBar.low > conditions.fl5Buffer[cIndex];
|
||||
bool isOerFib1 = cBar.low > conditions.fl1Buffer[cIDX];
|
||||
bool isOerFib2 = cBar.low > conditions.fl2Buffer[cIDX];
|
||||
bool isOerFib3 = cBar.low > conditions.fl3Buffer[cIDX];
|
||||
bool isOerFib4 = cBar.low > conditions.fl4Buffer[cIDX];
|
||||
bool isOerFib5 = cBar.low > conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
bool isUnderFib1 = cBar.high < conditions.fl1Buffer[cIndex];
|
||||
bool isUnderFib2 = cBar.high < conditions.fl2Buffer[cIndex];
|
||||
bool isUnderFib3 = cBar.high < conditions.fl3Buffer[cIndex];
|
||||
bool isUnderFib4 = cBar.high < conditions.fl4Buffer[cIndex];
|
||||
bool isUnderFib5 = cBar.high < conditions.fl5Buffer[cIndex];
|
||||
bool isUnderFib1 = cBar.high < conditions.fl1Buffer[cIDX];
|
||||
bool isUnderFib2 = cBar.high < conditions.fl2Buffer[cIDX];
|
||||
bool isUnderFib3 = cBar.high < conditions.fl3Buffer[cIDX];
|
||||
bool isUnderFib4 = cBar.high < conditions.fl4Buffer[cIDX];
|
||||
bool isUnderFib5 = cBar.high < conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
bool isCloseOerFib1 = cBar.close > conditions.fl1Buffer[cIndex];
|
||||
bool isCloseOerFib2 = cBar.close > conditions.fl2Buffer[cIndex];
|
||||
bool isCloseOerFib3 = cBar.close > conditions.fl3Buffer[cIndex];
|
||||
bool isCloseOerFib4 = cBar.close > conditions.fl4Buffer[cIndex];
|
||||
bool isCloseOerFib5 = cBar.close > conditions.fl5Buffer[cIndex];
|
||||
bool isCloseOerFib1 = cBar.close > conditions.fl1Buffer[cIDX];
|
||||
bool isCloseOerFib2 = cBar.close > conditions.fl2Buffer[cIDX];
|
||||
bool isCloseOerFib3 = cBar.close > conditions.fl3Buffer[cIDX];
|
||||
bool isCloseOerFib4 = cBar.close > conditions.fl4Buffer[cIDX];
|
||||
bool isCloseOerFib5 = cBar.close > conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
bool isCloseUnderFib1 = cBar.close < conditions.fl1Buffer[cIndex];
|
||||
bool isCloseUnderFib2 = cBar.close < conditions.fl2Buffer[cIndex];
|
||||
bool isCloseUnderFib3 = cBar.close < conditions.fl3Buffer[cIndex];
|
||||
bool isCloseUnderFib4 = cBar.close < conditions.fl4Buffer[cIndex];
|
||||
bool isCloseUnderFib5 = cBar.close < conditions.fl5Buffer[cIndex];
|
||||
bool isCloseUnderFib1 = cBar.close < conditions.fl1Buffer[cIDX];
|
||||
bool isCloseUnderFib2 = cBar.close < conditions.fl2Buffer[cIDX];
|
||||
bool isCloseUnderFib3 = cBar.close < conditions.fl3Buffer[cIDX];
|
||||
bool isCloseUnderFib4 = cBar.close < conditions.fl4Buffer[cIDX];
|
||||
bool isCloseUnderFib5 = cBar.close < conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
|
||||
|
||||
Reference in New Issue
Block a user