last ...
This commit is contained in:
@@ -1095,7 +1095,7 @@ class XC121SMCCycleHelper : public XCBase
|
|||||||
bool mShowBidLine = true; // show bid line
|
bool mShowBidLine = true; // show bid line
|
||||||
bool mShowAskLine = true; // show ask line
|
bool mShowAskLine = true; // show ask line
|
||||||
bool mShowGrid = false; // show grids on chart
|
bool mShowGrid = false; // show grids on chart
|
||||||
bool mShowVolumes = true; // show volumes
|
bool mShowVolumes = false; // show volumes
|
||||||
bool mShowTradeLevels = true; // Displaying trade levels in the chart (levels of open positions, Stop Loss, Take Profit and pending orders)
|
bool mShowTradeLevels = true; // Displaying trade levels in the chart (levels of open positions, Stop Loss, Take Profit and pending orders)
|
||||||
bool mAutoScroll = true; // chart autoscroll
|
bool mAutoScroll = true; // chart autoscroll
|
||||||
bool mQuickNavigation = true; // chart quick navigation state
|
bool mQuickNavigation = true; // chart quick navigation state
|
||||||
|
|||||||
@@ -408,7 +408,7 @@ bool HasXPVConditions(
|
|||||||
//
|
//
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isSwingLow =
|
bool isPSwingLow =
|
||||||
//
|
//
|
||||||
(pBar.low < pPBar.low &&
|
(pBar.low < pPBar.low &&
|
||||||
pBar.low < cBar.low &&
|
pBar.low < cBar.low &&
|
||||||
@@ -417,14 +417,48 @@ bool HasXPVConditions(
|
|||||||
;
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isSwingHigh =
|
bool isCSwingLow =
|
||||||
//
|
//
|
||||||
pBar.high > pPBar.high &&
|
(pBar.low < pPBar.low &&
|
||||||
|
cBar.low < pBar.low &&
|
||||||
|
zBar.close > cBar.low)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isSwingLow =
|
||||||
|
//
|
||||||
|
isPSwingLow ||
|
||||||
|
isCSwingLow
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isPSwingHigh =
|
||||||
|
//
|
||||||
|
pBar.high >= pPBar.high &&
|
||||||
pBar.high > cBar.high &&
|
pBar.high > cBar.high &&
|
||||||
zBar.open < cBar.high
|
zBar.open < cBar.high
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCSwingHigh =
|
||||||
|
//
|
||||||
|
(pBar.high >= pPBar.high &&
|
||||||
|
cBar.high > pBar.high &&
|
||||||
|
zBar.close < cBar.high)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isSwingHigh =
|
||||||
|
//
|
||||||
|
isPSwingHigh &&
|
||||||
|
isCSwingHigh
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isBarsOverPeaksGoldenZone =
|
bool isBarsOverPeaksGoldenZone =
|
||||||
//
|
//
|
||||||
@@ -465,6 +499,14 @@ bool HasXPVConditions(
|
|||||||
bool isRsiChangeUnderAtrLower =
|
bool isRsiChangeUnderAtrLower =
|
||||||
rsiChangeP < atrLowerSMP;
|
rsiChangeP < atrLowerSMP;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isRsiChangeOverPeaksGoldenZone =
|
||||||
|
rsiChangeP > peaksGoldenP;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isRsiChangeUnderValesGoldenZone =
|
||||||
|
rsiChangeP < valesGoldenP;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isPriceChangeOverAtrUpper =
|
bool isPriceChangeOverAtrUpper =
|
||||||
priceChangeP > atrUpperSMP;
|
priceChangeP > atrUpperSMP;
|
||||||
@@ -473,6 +515,14 @@ bool HasXPVConditions(
|
|||||||
bool isPriceChangeUnderAtrLower =
|
bool isPriceChangeUnderAtrLower =
|
||||||
priceChangeP < atrLowerSMP;
|
priceChangeP < atrLowerSMP;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isPriceChangeOverPeaksGoldenZone =
|
||||||
|
priceChangeP > peaksGoldenP;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isPriceChangeUnderValesGoldenZone =
|
||||||
|
priceChangeP < valesGoldenP;
|
||||||
|
|
||||||
//
|
//
|
||||||
// XPV Peaks or Vales ...
|
// XPV Peaks or Vales ...
|
||||||
|
|
||||||
@@ -484,6 +534,18 @@ bool HasXPVConditions(
|
|||||||
bool isPBarEqualsToPeak = pBar.high == peakP;
|
bool isPBarEqualsToPeak = pBar.high == peakP;
|
||||||
bool isPBarEqualsToVale = pBar.low == valeP;
|
bool isPBarEqualsToVale = pBar.low == valeP;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isPPBarEqualsToPeak = pPBar.high == peakPP;
|
||||||
|
bool isPPBarEqualsToVale = pPBar.low == valePP;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isBarsEqualsToPeak = isCBarEqualsToPeak ||
|
||||||
|
isPBarEqualsToPeak ||
|
||||||
|
isPPBarEqualsToPeak;
|
||||||
|
bool isBarsEqualsToVale = isCBarEqualsToVale ||
|
||||||
|
isPBarEqualsToVale ||
|
||||||
|
isPPBarEqualsToVale;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Detect VPatterns ...
|
// Detect VPatterns ...
|
||||||
|
|
||||||
@@ -505,6 +567,23 @@ bool HasXPVConditions(
|
|||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isRsiChangeBullish =
|
||||||
|
//
|
||||||
|
(isRsiChangeUnderAtrLower &&
|
||||||
|
isRsiChangeBullishVPattern &&
|
||||||
|
isRsiChangeUnderValesGoldenZone)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
bool isRsiChangeBearish =
|
||||||
|
//
|
||||||
|
(isRsiChangeOverAtrUpper &&
|
||||||
|
isRsiChangeBearishVPattern &&
|
||||||
|
isRsiChangeOverPeaksGoldenZone)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isPriceChangeBullishVPattern =
|
bool isPriceChangeBullishVPattern =
|
||||||
//
|
//
|
||||||
@@ -523,60 +602,99 @@ bool HasXPVConditions(
|
|||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isPriceChangeBullish =
|
||||||
|
//
|
||||||
|
(isPriceChangeUnderAtrLower &&
|
||||||
|
isPriceChangeBullishVPattern &&
|
||||||
|
isPriceChangeUnderValesGoldenZone)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isPriceChangeBearish =
|
||||||
|
//
|
||||||
|
(isPriceChangeOverAtrUpper &&
|
||||||
|
isPriceChangeBearishVPattern &&
|
||||||
|
isPriceChangeOverPeaksGoldenZone)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
// XVWAP ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isVWapIsBullish =
|
||||||
|
//
|
||||||
|
(cXConditions.isVWapBullishOrdered &&
|
||||||
|
cXConditions.isVWapSwitchedToBullishState)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(cXConditions.isVWapBullishState &&
|
||||||
|
cXConditions.isVWapSwitchedToBullishOrdered)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isVWapIsBearish =
|
||||||
|
//
|
||||||
|
(cXConditions.isVWapBearishOrdered &&
|
||||||
|
cXConditions.isVWapSwitchedToBearishState)
|
||||||
|
//
|
||||||
|
||
|
||||||
|
//
|
||||||
|
(cXConditions.isVWapBearishState &&
|
||||||
|
cXConditions.isVWapSwitchedToBearishOrdered)
|
||||||
|
//
|
||||||
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Checking Bar States ...
|
// Checking Bar States ...
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isCBarHasBullishFibPressure =
|
ENUM_X_DIRECTION cBarPosDir;
|
||||||
//
|
bool isCBarValidForPosition =
|
||||||
cBar.HasFiboPressure(
|
cHelper
|
||||||
X_DIRECTION_BULLISH,
|
.mBarAnalyser
|
||||||
X_FIBO_LEVEL_382 //
|
.IsValidForPosition(
|
||||||
)
|
cBar,
|
||||||
//
|
cBarPosDir //
|
||||||
;
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isPBarHasBullishFibPressure =
|
ENUM_X_DIRECTION pBarPosDir;
|
||||||
//
|
bool isPBarValidForPosition =
|
||||||
pBar.HasFiboPressure(
|
cHelper
|
||||||
X_DIRECTION_BULLISH,
|
.mBarAnalyser
|
||||||
X_FIBO_LEVEL_382 //
|
.IsValidForPosition(
|
||||||
)
|
pBar,
|
||||||
//
|
pBarPosDir //
|
||||||
;
|
);
|
||||||
|
|
||||||
//
|
|
||||||
bool isCBarHasBearishFibPressure =
|
|
||||||
//
|
|
||||||
cBar.HasFiboPressure(
|
|
||||||
X_DIRECTION_BEARISH,
|
|
||||||
X_FIBO_LEVEL_382 //
|
|
||||||
)
|
|
||||||
//
|
|
||||||
;
|
|
||||||
|
|
||||||
//
|
|
||||||
bool isPBarHasBearishFibPressure =
|
|
||||||
//
|
|
||||||
pBar.HasFiboPressure(
|
|
||||||
X_DIRECTION_BEARISH,
|
|
||||||
X_FIBO_LEVEL_382 //
|
|
||||||
)
|
|
||||||
//
|
|
||||||
;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isBarValidForBullish =
|
bool isBarValidForBullish =
|
||||||
//
|
//
|
||||||
isCBarHasBullishFibPressure
|
(isCBarValidForPosition &&
|
||||||
|
IsBullish(cBarPosDir))
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
(isPBarValidForPosition &&
|
||||||
|
IsBullish(pBarPosDir))
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isBarValidForBearish =
|
bool isBarValidForBearish =
|
||||||
//
|
//
|
||||||
isCBarHasBearishFibPressure
|
(isCBarValidForPosition &&
|
||||||
|
IsBearish(cBarPosDir))
|
||||||
|
//
|
||||||
|
&&
|
||||||
|
//
|
||||||
|
(isPBarValidForPosition &&
|
||||||
|
IsBearish(pBarPosDir))
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -587,32 +705,28 @@ bool HasXPVConditions(
|
|||||||
isBullish =
|
isBullish =
|
||||||
//
|
//
|
||||||
// isSwingLow &&
|
// isSwingLow &&
|
||||||
|
isVWapIsBullish // &&
|
||||||
|
// isBarsEqualsToVale &&
|
||||||
|
// isRsiChangeBullish &&
|
||||||
// isBarsUnderAtrLower &&
|
// isBarsUnderAtrLower &&
|
||||||
// isBarValidForBullish &&
|
// isBarValidForBullish &&
|
||||||
|
// isPriceChangeBullish &&
|
||||||
// isBarsUnderValesGoldenZone
|
// isBarsUnderValesGoldenZone
|
||||||
//
|
//
|
||||||
// isCBarEqualsToVale &&
|
|
||||||
(isRsiChangeUnderAtrLower &&
|
|
||||||
isRsiChangeBullishVPattern) &&
|
|
||||||
(isPriceChangeUnderAtrLower &&
|
|
||||||
isPriceChangeBullishVPattern)
|
|
||||||
//
|
|
||||||
;
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
isBearish =
|
isBearish =
|
||||||
//
|
//
|
||||||
// isSwingHigh &&
|
//isSwingHigh &&
|
||||||
|
isVWapIsBearish // &&
|
||||||
|
//isBarsEqualsToPeak &&
|
||||||
// isBarsOverAtrUpper &&
|
// isBarsOverAtrUpper &&
|
||||||
|
// isRsiChangeBearish &&
|
||||||
// isBarValidForBearish &&
|
// isBarValidForBearish &&
|
||||||
|
// isPriceChangeBearish &&
|
||||||
// isBarsOverPeaksGoldenZone
|
// isBarsOverPeaksGoldenZone
|
||||||
//
|
//
|
||||||
// isCBarEqualsToPeak &&
|
|
||||||
(isRsiChangeOverAtrUpper &&
|
|
||||||
isRsiChangeBearishVPattern) &&
|
|
||||||
(isPriceChangeOverAtrUpper &&
|
|
||||||
isPriceChangeBearishVPattern)
|
|
||||||
//
|
|
||||||
;
|
;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -976,7 +976,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Presentations ...
|
// Presentations ...
|
||||||
x121Inputs.xccInputs.showCandles = showAll || false;
|
x121Inputs.xccInputs.showCandles = showAll || true;
|
||||||
|
|
||||||
//
|
//
|
||||||
// XPV ...
|
// XPV ...
|
||||||
@@ -1011,7 +1011,7 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Presentations ...
|
// Presentations ...
|
||||||
x121Inputs.xhkInputs.drawRawXHKCandles = showAll || true;
|
x121Inputs.xhkInputs.drawRawXHKCandles = showAll || false;
|
||||||
x121Inputs.xhkInputs.drawSmoothedXHKCandles = showAll || false;
|
x121Inputs.xhkInputs.drawSmoothedXHKCandles = showAll || false;
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -1036,8 +1036,8 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
// Presentations ...
|
// Presentations ...
|
||||||
x121Inputs.xatrInputs.showAtrUpper = showAll || false;
|
x121Inputs.xatrInputs.showAtrUpper = showAll || false;
|
||||||
x121Inputs.xatrInputs.showAtrLower = showAll || false;
|
x121Inputs.xatrInputs.showAtrLower = showAll || false;
|
||||||
x121Inputs.xatrInputs.showRSIChange = showAll || true;
|
x121Inputs.xatrInputs.showRSIChange = showAll || false;
|
||||||
x121Inputs.xatrInputs.showPriceChange = showAll || true;
|
x121Inputs.xatrInputs.showPriceChange = showAll || false;
|
||||||
x121Inputs.xatrInputs.showSmoothedAtrUpper = showAll || true;
|
x121Inputs.xatrInputs.showSmoothedAtrUpper = showAll || true;
|
||||||
x121Inputs.xatrInputs.showSmoothedAtrLower = showAll || true;
|
x121Inputs.xatrInputs.showSmoothedAtrLower = showAll || true;
|
||||||
x121Inputs.xatrInputs.showSmoothedRSIChange = showAll || true;
|
x121Inputs.xatrInputs.showSmoothedRSIChange = showAll || true;
|
||||||
@@ -1088,9 +1088,9 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Presentations ...
|
// Presentations ...
|
||||||
x121Inputs.xvwapInputs.showVWapFast = showAll || false;
|
x121Inputs.xvwapInputs.showVWapFast = showAll || true;
|
||||||
x121Inputs.xvwapInputs.showVWapSlow = showAll || false;
|
x121Inputs.xvwapInputs.showVWapSlow = showAll || true;
|
||||||
x121Inputs.xvwapInputs.showVWapMedium = showAll || false;
|
x121Inputs.xvwapInputs.showVWapMedium = showAll || true;
|
||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user