last ...
This commit is contained in:
@@ -244,44 +244,44 @@ struct X121Conditions
|
||||
bool isClosedUnderAtrLower;
|
||||
|
||||
//
|
||||
bool isRejectUpAtrUpper;
|
||||
bool isRejectDownAtrUpper;
|
||||
bool isRejectedUpAtrUpper;
|
||||
bool isRejectedDownAtrUpper;
|
||||
|
||||
//
|
||||
bool isRejectUpAtrLower;
|
||||
bool isRejectDownAtrLower;
|
||||
bool isRejectedUpAtrLower;
|
||||
bool isRejectedDownAtrLower;
|
||||
|
||||
//
|
||||
bool isBreakedUpAtrUpper;
|
||||
bool isBreakDownAtrUpper;
|
||||
bool isBreakedDownAtrUpper;
|
||||
|
||||
//
|
||||
bool isBreakedUpAtrLower;
|
||||
bool isBreakDownAtrLower;
|
||||
bool isBreakedDownAtrLower;
|
||||
|
||||
//
|
||||
bool isRejectDonOpenUpper;
|
||||
bool isRejectDonHighUpper;
|
||||
bool isRejectDonLowUpper;
|
||||
bool isRejectDonCloseUpper;
|
||||
bool isRejectedDonOpenUpper;
|
||||
bool isRejectedDonHighUpper;
|
||||
bool isRejectedDonLowUpper;
|
||||
bool isRejectedDonCloseUpper;
|
||||
|
||||
//
|
||||
bool isRejectDonOpenLower;
|
||||
bool isRejectDonHighLower;
|
||||
bool isRejectDonLowLower;
|
||||
bool isRejectDonCloseLower;
|
||||
bool isRejectedDonOpenLower;
|
||||
bool isRejectedDonHighLower;
|
||||
bool isRejectedDonLowLower;
|
||||
bool isRejectedDonCloseLower;
|
||||
|
||||
//
|
||||
bool isBreakDonOpenUpper;
|
||||
bool isBreakDonHighUpper;
|
||||
bool isBreakDonLowUpper;
|
||||
bool isBreakDonCloseUpper;
|
||||
bool isBreakedDonOpenUpper;
|
||||
bool isBreakedDonHighUpper;
|
||||
bool isBreakedDonLowUpper;
|
||||
bool isBreakedDonCloseUpper;
|
||||
|
||||
//
|
||||
bool isBreakDonOpenLower;
|
||||
bool isBreakDonHighLower;
|
||||
bool isBreakDonLowLower;
|
||||
bool isBreakDonCloseLower;
|
||||
bool isBreakedDonOpenLower;
|
||||
bool isBreakedDonHighLower;
|
||||
bool isBreakedDonLowLower;
|
||||
bool isBreakedDonCloseLower;
|
||||
|
||||
//
|
||||
bool isSarBullish;
|
||||
@@ -423,6 +423,14 @@ struct X121Conditions
|
||||
bool isBreakedUpPrevAtrLower;
|
||||
bool isBreakedDownPrevAtrLower;
|
||||
|
||||
//
|
||||
bool isRejectedUpPrevAtrUpper;
|
||||
bool isRejectedDownPrevAtrUpper;
|
||||
|
||||
//
|
||||
bool isRejectedUpPrevAtrLower;
|
||||
bool isRejectedDownPrevAtrLower;
|
||||
|
||||
//
|
||||
bool isSarEqualsToPeak;
|
||||
bool isSarEqualsToVale;
|
||||
@@ -700,47 +708,47 @@ struct X121Conditions
|
||||
isClosedUnderAtrLower = false;
|
||||
|
||||
//
|
||||
isRejectUpAtrUpper = false;
|
||||
isRejectDownAtrUpper = false;
|
||||
isRejectedUpAtrUpper = false;
|
||||
isRejectedDownAtrUpper = false;
|
||||
|
||||
//
|
||||
isRejectUpAtrLower = false;
|
||||
isRejectDownAtrLower = false;
|
||||
isRejectedUpAtrLower = false;
|
||||
isRejectedDownAtrLower = false;
|
||||
|
||||
//
|
||||
isBreakedUpAtrUpper = false;
|
||||
isBreakDownAtrUpper = false;
|
||||
isBreakedDownAtrUpper = false;
|
||||
|
||||
//
|
||||
isBreakedUpAtrLower = false;
|
||||
isBreakDownAtrLower = false;
|
||||
isBreakedDownAtrLower = false;
|
||||
|
||||
//
|
||||
// DON ...
|
||||
|
||||
//
|
||||
isRejectDonOpenUpper = false;
|
||||
isRejectDonHighUpper = false;
|
||||
isRejectDonLowUpper = false;
|
||||
isRejectDonCloseUpper = false;
|
||||
isRejectedDonOpenUpper = false;
|
||||
isRejectedDonHighUpper = false;
|
||||
isRejectedDonLowUpper = false;
|
||||
isRejectedDonCloseUpper = false;
|
||||
|
||||
//
|
||||
isRejectDonOpenLower = false;
|
||||
isRejectDonHighLower = false;
|
||||
isRejectDonLowLower = false;
|
||||
isRejectDonCloseLower = false;
|
||||
isRejectedDonOpenLower = false;
|
||||
isRejectedDonHighLower = false;
|
||||
isRejectedDonLowLower = false;
|
||||
isRejectedDonCloseLower = false;
|
||||
|
||||
//
|
||||
isBreakDonOpenUpper = false;
|
||||
isBreakDonHighUpper = false;
|
||||
isBreakDonLowUpper = false;
|
||||
isBreakDonCloseUpper = false;
|
||||
isBreakedDonOpenUpper = false;
|
||||
isBreakedDonHighUpper = false;
|
||||
isBreakedDonLowUpper = false;
|
||||
isBreakedDonCloseUpper = false;
|
||||
|
||||
//
|
||||
isBreakDonOpenLower = false;
|
||||
isBreakDonHighLower = false;
|
||||
isBreakDonLowLower = false;
|
||||
isBreakDonCloseLower = false;
|
||||
isBreakedDonOpenLower = false;
|
||||
isBreakedDonHighLower = false;
|
||||
isBreakedDonLowLower = false;
|
||||
isBreakedDonCloseLower = false;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
@@ -899,10 +907,18 @@ struct X121Conditions
|
||||
isBreakedUpPrevAtrUpper = false;
|
||||
isBreakedDownPrevAtrUpper = false;
|
||||
|
||||
//
|
||||
isRejectedUpPrevAtrUpper = false;
|
||||
isRejectedDownPrevAtrUpper = false;
|
||||
|
||||
//
|
||||
isBreakedUpPrevAtrLower = false;
|
||||
isBreakedDownPrevAtrLower = false;
|
||||
|
||||
//
|
||||
isRejectedUpPrevAtrLower = false;
|
||||
isRejectedDownPrevAtrLower = false;
|
||||
|
||||
//
|
||||
isBreakedUpPrevCheMin = false;
|
||||
isBreakedUpPrevCheMax = false;
|
||||
@@ -1124,34 +1140,34 @@ struct X121Conditions
|
||||
ToString("isClosedOverAtrLower", isClosedOverAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isClosedUnderAtrUpper", isClosedUnderAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isClosedUnderAtrLower", isClosedUnderAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectUpAtrUpper", isRejectUpAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDownAtrUpper", isRejectDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectUpAtrLower", isRejectUpAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDownAtrLower", isRejectDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedUpAtrUpper", isRejectedUpAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDownAtrUpper", isRejectedDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedUpAtrLower", isRejectedUpAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDownAtrLower", isRejectedDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedUpAtrUpper", isBreakedUpAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDownAtrUpper", isBreakDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDownAtrUpper", isBreakedDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedUpAtrLower", isBreakedUpAtrLower, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"DON ..." + separator +
|
||||
"-----------------------" + separator +
|
||||
ToString("isBreakDownAtrLower", isBreakDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonOpenUpper", isRejectDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonHighUpper", isRejectDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonLowUpper", isRejectDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonCloseUpper", isRejectDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonOpenLower", isRejectDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonHighLower", isRejectDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonLowLower", isRejectDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonCloseLower", isRejectDonCloseLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonOpenUpper", isBreakDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonHighUpper", isBreakDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonLowUpper", isBreakDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonCloseUpper", isBreakDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonOpenLower", isBreakDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonHighLower", isBreakDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonLowLower", isBreakDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonCloseLower", isBreakDonCloseLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDownAtrLower", isBreakedDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonOpenUpper", isRejectedDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonHighUpper", isRejectedDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonLowUpper", isRejectedDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonCloseUpper", isRejectedDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonOpenLower", isRejectedDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonHighLower", isRejectedDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonLowLower", isRejectedDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonCloseLower", isRejectedDonCloseLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonOpenUpper", isBreakedDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonHighUpper", isBreakedDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonLowUpper", isBreakedDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonCloseUpper", isBreakedDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonOpenLower", isBreakedDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonHighLower", isBreakedDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonLowLower", isBreakedDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonCloseLower", isBreakedDonCloseLower, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"VWAP ..." + separator +
|
||||
@@ -1224,7 +1240,7 @@ struct X121Conditions
|
||||
ToString("isSarIncreased", isSarIncreased, ignoreFalseConditions, separator) +
|
||||
ToString("isSarDecreased", isSarDecreased, ignoreFalseConditions, separator) +
|
||||
ToString("isSarEqualsToPeak", isSarEqualsToPeak, ignoreFalseConditions, separator) +
|
||||
ToString("isSarEqualsToVale", isSarEqualsToVale, ignoreFalseConditions, separator) +
|
||||
|
||||
ToString("isStrEqualsToPeak", isStrEqualsToPeak, ignoreFalseConditions, separator) +
|
||||
ToString("isStrEqualsToVale", isStrEqualsToVale, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakOverAtrUpper", isPeakOverAtrUpper, ignoreFalseConditions, separator) +
|
||||
@@ -1276,6 +1292,8 @@ struct X121Conditions
|
||||
ToString("isBreakedUpPrevAtrUpper", isBreakedUpPrevAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedUpPrevAtrLower", isBreakedUpPrevAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isVWapFastCrossedOverMid", isVWapFastCrossedOverMid, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedUpPrevAtrUpper", isRejectedUpPrevAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedUpPrevAtrLower", isRejectedUpPrevAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isAtrUpperCrossedDownPeak", isAtrUpperCrossedDownPeak, ignoreFalseConditions, separator) +
|
||||
ToString("isAtrLowerCrossedDownVale", isAtrLowerCrossedDownVale, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDownPrevAtrUpper", isBreakedDownPrevAtrUpper, ignoreFalseConditions, separator) +
|
||||
@@ -1286,6 +1304,8 @@ struct X121Conditions
|
||||
ToString("isStrLowerOverDonLowLower", isStrLowerOverDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isStrLowerCrossedOverVale", isStrLowerCrossedOverVale, ignoreFalseConditions, separator) +
|
||||
ToString("isDonLowLowerEqualsToVale", isDonLowLowerEqualsToVale, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDownPrevAtrUpper", isRejectedDownPrevAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDownPrevAtrLower", isRejectedDownPrevAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isVWapFastCrossedUnderSlow", isVWapFastCrossedUnderSlow, ignoreFalseConditions, separator) +
|
||||
ToString("isStrUpperCrossedUnderPeak", isStrUpperCrossedUnderPeak, ignoreFalseConditions, separator) +
|
||||
ToString("isStrLowerCrossedUnderVale", isStrLowerCrossedUnderVale, ignoreFalseConditions, separator) +
|
||||
@@ -2000,15 +2020,15 @@ class XCX121Helper : public XCBase
|
||||
conditions.isBreakedUpAtrUpper = xatrConditions.isBreakedUpAtrUpper;
|
||||
conditions.isBreakedUpAtrLower = xatrConditions.isBreakedUpAtrLower;
|
||||
conditions.isClosedOverAtrUpper = xatrConditions.isClosedOverAtrUpper;
|
||||
conditions.isRejectUpAtrUpper = xatrConditions.isRejectUpAtrUpper;
|
||||
conditions.isRejectUpAtrLower = xatrConditions.isRejectUpAtrLower;
|
||||
conditions.isRejectedUpAtrUpper = xatrConditions.isRejectedUpAtrUpper;
|
||||
conditions.isRejectedUpAtrLower = xatrConditions.isRejectedUpAtrLower;
|
||||
conditions.isClosedOverAtrLower = xatrConditions.isClosedOverAtrLower;
|
||||
conditions.isBreakDownAtrUpper = xatrConditions.isBreakDownAtrUpper;
|
||||
conditions.isBreakDownAtrLower = xatrConditions.isBreakDownAtrLower;
|
||||
conditions.isBreakedDownAtrUpper = xatrConditions.isBreakedDownAtrUpper;
|
||||
conditions.isBreakedDownAtrLower = xatrConditions.isBreakedDownAtrLower;
|
||||
conditions.isClosedUnderAtrUpper = xatrConditions.isClosedUnderAtrUpper;
|
||||
conditions.isClosedUnderAtrLower = xatrConditions.isClosedUnderAtrLower;
|
||||
conditions.isRejectDownAtrUpper = xatrConditions.isRejectDownAtrUpper;
|
||||
conditions.isRejectDownAtrLower = xatrConditions.isRejectDownAtrLower;
|
||||
conditions.isRejectedDownAtrUpper = xatrConditions.isRejectedDownAtrUpper;
|
||||
conditions.isRejectedDownAtrLower = xatrConditions.isRejectedDownAtrLower;
|
||||
conditions.isRsiCrossedOverOverSold = xatrConditions.isRsiCrossedOverOverSold;
|
||||
conditions.isRsiCrossedUnderOverSold = xatrConditions.isRsiCrossedUnderOverSold;
|
||||
conditions.isRsiCrossedOverOverBought = xatrConditions.isRsiCrossedOverOverBought;
|
||||
@@ -2191,22 +2211,22 @@ class XCX121Helper : public XCBase
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
conditions.isBreakDonLowUpper = xdonConditions.isBreakDonLowUpper;
|
||||
conditions.isBreakDonLowLower = xdonConditions.isBreakDonLowLower;
|
||||
conditions.isRejectDonLowUpper = xdonConditions.isRejectDonLowUpper;
|
||||
conditions.isRejectDonLowLower = xdonConditions.isRejectDonLowLower;
|
||||
conditions.isBreakDonOpenUpper = xdonConditions.isBreakDonOpenUpper;
|
||||
conditions.isBreakDonHighUpper = xdonConditions.isBreakDonHighUpper;
|
||||
conditions.isBreakDonOpenLower = xdonConditions.isBreakDonOpenLower;
|
||||
conditions.isBreakDonHighLower = xdonConditions.isBreakDonHighLower;
|
||||
conditions.isRejectDonOpenUpper = xdonConditions.isRejectDonOpenUpper;
|
||||
conditions.isRejectDonHighUpper = xdonConditions.isRejectDonHighUpper;
|
||||
conditions.isRejectDonOpenLower = xdonConditions.isRejectDonOpenLower;
|
||||
conditions.isRejectDonHighLower = xdonConditions.isRejectDonHighLower;
|
||||
conditions.isBreakDonCloseUpper = xdonConditions.isBreakDonCloseUpper;
|
||||
conditions.isBreakDonCloseLower = xdonConditions.isBreakDonCloseLower;
|
||||
conditions.isRejectDonCloseUpper = xdonConditions.isRejectDonCloseUpper;
|
||||
conditions.isRejectDonCloseLower = xdonConditions.isRejectDonCloseLower;
|
||||
conditions.isBreakedDonLowUpper = xdonConditions.isBreakedDonLowUpper;
|
||||
conditions.isBreakedDonLowLower = xdonConditions.isBreakedDonLowLower;
|
||||
conditions.isRejectedDonLowUpper = xdonConditions.isRejectedDonLowUpper;
|
||||
conditions.isRejectedDonLowLower = xdonConditions.isRejectedDonLowLower;
|
||||
conditions.isBreakedDonOpenUpper = xdonConditions.isBreakedDonOpenUpper;
|
||||
conditions.isBreakedDonHighUpper = xdonConditions.isBreakedDonHighUpper;
|
||||
conditions.isBreakedDonOpenLower = xdonConditions.isBreakedDonOpenLower;
|
||||
conditions.isBreakedDonHighLower = xdonConditions.isBreakedDonHighLower;
|
||||
conditions.isRejectedDonOpenUpper = xdonConditions.isRejectedDonOpenUpper;
|
||||
conditions.isRejectedDonHighUpper = xdonConditions.isRejectedDonHighUpper;
|
||||
conditions.isRejectedDonOpenLower = xdonConditions.isRejectedDonOpenLower;
|
||||
conditions.isRejectedDonHighLower = xdonConditions.isRejectedDonHighLower;
|
||||
conditions.isBreakedDonCloseUpper = xdonConditions.isBreakedDonCloseUpper;
|
||||
conditions.isBreakedDonCloseLower = xdonConditions.isBreakedDonCloseLower;
|
||||
conditions.isRejectedDonCloseUpper = xdonConditions.isRejectedDonCloseUpper;
|
||||
conditions.isRejectedDonCloseLower = xdonConditions.isRejectedDonCloseLower;
|
||||
|
||||
//
|
||||
// XVWAP ...
|
||||
@@ -2505,6 +2525,34 @@ class XCX121Helper : public XCBase
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isRejectedUpPrevAtrUpper = IsBarReject(
|
||||
prevAtrUpper,
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isRejectedDownPrevAtrUpper = IsBarReject(
|
||||
prevAtrUpper,
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isRejectedUpPrevAtrLower = IsBarReject(
|
||||
prevAtrLower,
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isRejectedDownPrevAtrLower = IsBarReject(
|
||||
prevAtrLower,
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isBreakedUpPrevAtrUpper = IsBarBreak(
|
||||
prevAtrUpper,
|
||||
@@ -2821,6 +2869,8 @@ class XCX121Helper : public XCBase
|
||||
conditions.isAtrUpperCrossedUpPeak = isAtrUpperCrossedUpPeak;
|
||||
conditions.isAtrLowerCrossedUpVale = isAtrLowerCrossedUpVale;
|
||||
conditions.isVWapFastCrossedOverMid = isVWapFastCrossedOverMid;
|
||||
conditions.isRejectedUpPrevAtrUpper = isRejectedUpPrevAtrUpper;
|
||||
conditions.isRejectedUpPrevAtrLower = isRejectedUpPrevAtrLower;
|
||||
conditions.isAtrUpperCrossedDownPeak = isAtrUpperCrossedDownPeak;
|
||||
conditions.isAtrLowerCrossedDownVale = isAtrLowerCrossedDownVale;
|
||||
conditions.isBreakedDownPrevAtrUpper = isBreakedDownPrevAtrUpper;
|
||||
@@ -2831,6 +2881,8 @@ class XCX121Helper : public XCBase
|
||||
conditions.isStrLowerCrossedOverVale = isStrLowerCrossedOverVale;
|
||||
conditions.isStrLowerOverDonLowLower = isStrLowerOverDonLowLower;
|
||||
conditions.isVWapFastCrossedOverSlow = isVWapFastCrossedOverSlow;
|
||||
conditions.isRejectedDownPrevAtrUpper = isRejectedDownPrevAtrUpper;
|
||||
conditions.isRejectedDownPrevAtrLower = isRejectedDownPrevAtrLower;
|
||||
conditions.isVWapFastCrossedUnderSlow = isVWapFastCrossedUnderSlow;
|
||||
conditions.isStrUpperOverDonHighUpper = isStrUpperOverDonHighUpper;
|
||||
conditions.isStrLowerUnderDonLowLower = isStrLowerUnderDonLowLower;
|
||||
|
||||
@@ -218,20 +218,20 @@ struct X121XATRConditions
|
||||
bool isClosedUnderAtrLower;
|
||||
|
||||
//
|
||||
bool isRejectUpAtrUpper;
|
||||
bool isRejectDownAtrUpper;
|
||||
bool isRejectedUpAtrUpper;
|
||||
bool isRejectedDownAtrUpper;
|
||||
|
||||
//
|
||||
bool isRejectUpAtrLower;
|
||||
bool isRejectDownAtrLower;
|
||||
bool isRejectedUpAtrLower;
|
||||
bool isRejectedDownAtrLower;
|
||||
|
||||
//
|
||||
bool isBreakedUpAtrUpper;
|
||||
bool isBreakDownAtrUpper;
|
||||
bool isBreakedDownAtrUpper;
|
||||
|
||||
//
|
||||
bool isBreakedUpAtrLower;
|
||||
bool isBreakDownAtrLower;
|
||||
bool isBreakedDownAtrLower;
|
||||
|
||||
//
|
||||
// bool isCloseLower
|
||||
@@ -304,20 +304,20 @@ struct X121XATRConditions
|
||||
isClosedUnderAtrLower = false;
|
||||
|
||||
//
|
||||
isRejectUpAtrUpper = false;
|
||||
isRejectDownAtrUpper = false;
|
||||
isRejectedUpAtrUpper = false;
|
||||
isRejectedDownAtrUpper = false;
|
||||
|
||||
//
|
||||
isRejectUpAtrLower = false;
|
||||
isRejectDownAtrLower = false;
|
||||
isRejectedUpAtrLower = false;
|
||||
isRejectedDownAtrLower = false;
|
||||
|
||||
//
|
||||
isBreakedUpAtrUpper = false;
|
||||
isBreakDownAtrUpper = false;
|
||||
isBreakedDownAtrUpper = false;
|
||||
|
||||
//
|
||||
isBreakedUpAtrLower = false;
|
||||
isBreakDownAtrLower = false;
|
||||
isBreakedDownAtrLower = false;
|
||||
|
||||
//
|
||||
// XDON ...
|
||||
@@ -406,14 +406,14 @@ struct X121XATRConditions
|
||||
ToString("isClosedOverAtrLower", isClosedOverAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isClosedUnderAtrUpper", isClosedUnderAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isClosedUnderAtrLower", isClosedUnderAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectUpAtrUpper", isRejectUpAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDownAtrUpper", isRejectDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectUpAtrLower", isRejectUpAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDownAtrLower", isRejectDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedUpAtrUpper", isRejectedUpAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDownAtrUpper", isRejectedDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedUpAtrLower", isRejectedUpAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDownAtrLower", isRejectedDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedUpAtrUpper", isBreakedUpAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDownAtrUpper", isBreakDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDownAtrUpper", isBreakedDownAtrUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedUpAtrLower", isBreakedUpAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDownAtrLower", isBreakDownAtrLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDownAtrLower", isBreakedDownAtrLower, ignoreFalseConditions, separator) +
|
||||
//
|
||||
""
|
||||
//
|
||||
@@ -1040,25 +1040,25 @@ class XCX121XATRHelper : public XCBaseHelper
|
||||
bool isClosedUnderAtrLower = cBar.close < conditions.atrLowerBuffer[cIDX];
|
||||
|
||||
//
|
||||
bool isRejectUpAtrUpper = IsBarReject(
|
||||
bool isRejectedUpAtrUpper = IsBarReject(
|
||||
atrUpperBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDownAtrUpper = IsBarReject(
|
||||
bool isRejectedDownAtrUpper = IsBarReject(
|
||||
atrUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isRejectUpAtrLower = IsBarReject(
|
||||
bool isRejectedUpAtrLower = IsBarReject(
|
||||
atrLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
;
|
||||
bool isRejectDownAtrLower = IsBarReject(
|
||||
bool isRejectedDownAtrLower = IsBarReject(
|
||||
atrLowerBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
@@ -1071,7 +1071,7 @@ class XCX121XATRHelper : public XCBaseHelper
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDownAtrUpper = IsBarBreak(
|
||||
bool isBreakedDownAtrUpper = IsBarBreak(
|
||||
atrUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
@@ -1083,7 +1083,7 @@ class XCX121XATRHelper : public XCBaseHelper
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDownAtrLower = IsBarBreak(
|
||||
bool isBreakedDownAtrLower = IsBarBreak(
|
||||
atrLowerBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
@@ -1092,16 +1092,16 @@ class XCX121XATRHelper : public XCBaseHelper
|
||||
//
|
||||
conditions.isRsiOverSold = isRsiOverSold;
|
||||
conditions.isRsiOverBought = isRsiOverBought;
|
||||
conditions.isRejectUpAtrUpper = isRejectUpAtrUpper;
|
||||
conditions.isRejectUpAtrLower = isRejectUpAtrLower;
|
||||
conditions.isRejectedUpAtrUpper = isRejectedUpAtrUpper;
|
||||
conditions.isRejectedUpAtrLower = isRejectedUpAtrLower;
|
||||
conditions.isBreakedUpAtrUpper = isBreakedUpAtrUpper;
|
||||
conditions.isBreakedUpAtrLower = isBreakedUpAtrLower;
|
||||
conditions.isRejectDownAtrUpper = isRejectDownAtrUpper;
|
||||
conditions.isRejectDownAtrLower = isRejectDownAtrLower;
|
||||
conditions.isRejectedDownAtrUpper = isRejectedDownAtrUpper;
|
||||
conditions.isRejectedDownAtrLower = isRejectedDownAtrLower;
|
||||
conditions.isClosedOverAtrUpper = isClosedOverAtrUpper;
|
||||
conditions.isClosedOverAtrLower = isClosedOverAtrLower;
|
||||
conditions.isBreakDownAtrUpper = isBreakDownAtrUpper;
|
||||
conditions.isBreakDownAtrLower = isBreakDownAtrLower;
|
||||
conditions.isBreakedDownAtrUpper = isBreakedDownAtrUpper;
|
||||
conditions.isBreakedDownAtrLower = isBreakedDownAtrLower;
|
||||
conditions.isClosedUnderAtrUpper = isClosedUnderAtrUpper;
|
||||
conditions.isClosedUnderAtrLower = isClosedUnderAtrLower;
|
||||
conditions.isRsiCrossedOverOverSold = isRsiCrossedOverOverSold;
|
||||
|
||||
@@ -176,28 +176,28 @@ struct X121XDONConditions
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
bool isRejectDonOpenUpper;
|
||||
bool isRejectDonHighUpper;
|
||||
bool isRejectDonLowUpper;
|
||||
bool isRejectDonCloseUpper;
|
||||
bool isRejectedDonOpenUpper;
|
||||
bool isRejectedDonHighUpper;
|
||||
bool isRejectedDonLowUpper;
|
||||
bool isRejectedDonCloseUpper;
|
||||
|
||||
//
|
||||
bool isRejectDonOpenLower;
|
||||
bool isRejectDonHighLower;
|
||||
bool isRejectDonLowLower;
|
||||
bool isRejectDonCloseLower;
|
||||
bool isRejectedDonOpenLower;
|
||||
bool isRejectedDonHighLower;
|
||||
bool isRejectedDonLowLower;
|
||||
bool isRejectedDonCloseLower;
|
||||
|
||||
//
|
||||
bool isBreakDonOpenUpper;
|
||||
bool isBreakDonHighUpper;
|
||||
bool isBreakDonLowUpper;
|
||||
bool isBreakDonCloseUpper;
|
||||
bool isBreakedDonOpenUpper;
|
||||
bool isBreakedDonHighUpper;
|
||||
bool isBreakedDonLowUpper;
|
||||
bool isBreakedDonCloseUpper;
|
||||
|
||||
//
|
||||
bool isBreakDonOpenLower;
|
||||
bool isBreakDonHighLower;
|
||||
bool isBreakDonLowLower;
|
||||
bool isBreakDonCloseLower;
|
||||
bool isBreakedDonOpenLower;
|
||||
bool isBreakedDonHighLower;
|
||||
bool isBreakedDonLowLower;
|
||||
bool isBreakedDonCloseLower;
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
@@ -247,28 +247,28 @@ struct X121XDONConditions
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
isRejectDonOpenUpper = false;
|
||||
isRejectDonHighUpper = false;
|
||||
isRejectDonLowUpper = false;
|
||||
isRejectDonCloseUpper = false;
|
||||
isRejectedDonOpenUpper = false;
|
||||
isRejectedDonHighUpper = false;
|
||||
isRejectedDonLowUpper = false;
|
||||
isRejectedDonCloseUpper = false;
|
||||
|
||||
//
|
||||
isRejectDonOpenLower = false;
|
||||
isRejectDonHighLower = false;
|
||||
isRejectDonLowLower = false;
|
||||
isRejectDonCloseLower = false;
|
||||
isRejectedDonOpenLower = false;
|
||||
isRejectedDonHighLower = false;
|
||||
isRejectedDonLowLower = false;
|
||||
isRejectedDonCloseLower = false;
|
||||
|
||||
//
|
||||
isBreakDonOpenUpper = false;
|
||||
isBreakDonHighUpper = false;
|
||||
isBreakDonLowUpper = false;
|
||||
isBreakDonCloseUpper = false;
|
||||
isBreakedDonOpenUpper = false;
|
||||
isBreakedDonHighUpper = false;
|
||||
isBreakedDonLowUpper = false;
|
||||
isBreakedDonCloseUpper = false;
|
||||
|
||||
//
|
||||
isBreakDonOpenLower = false;
|
||||
isBreakDonHighLower = false;
|
||||
isBreakDonLowLower = false;
|
||||
isBreakDonCloseLower = false;
|
||||
isBreakedDonOpenLower = false;
|
||||
isBreakedDonHighLower = false;
|
||||
isBreakedDonLowLower = false;
|
||||
isBreakedDonCloseLower = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -341,25 +341,25 @@ struct X121XDONConditions
|
||||
//
|
||||
string conditionsStr =
|
||||
//
|
||||
ToString("isRejectDonOpenUpper", isRejectDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonHighUpper", isRejectDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonLowUpper", isRejectDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonCloseUpper", isRejectDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonOpenUpper", isRejectedDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonHighUpper", isRejectedDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonLowUpper", isRejectedDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonCloseUpper", isRejectedDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
//
|
||||
ToString("isRejectDonOpenLower", isRejectDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonHighLower", isRejectDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonLowLower", isRejectDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectDonCloseLower", isRejectDonCloseLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonOpenLower", isRejectedDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonHighLower", isRejectedDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonLowLower", isRejectedDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isRejectedDonCloseLower", isRejectedDonCloseLower, ignoreFalseConditions, separator) +
|
||||
//
|
||||
ToString("isBreakDonOpenUpper", isBreakDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonHighUpper", isBreakDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonLowUpper", isBreakDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonCloseUpper", isBreakDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonOpenUpper", isBreakedDonOpenUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonHighUpper", isBreakedDonHighUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonLowUpper", isBreakedDonLowUpper, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonCloseUpper", isBreakedDonCloseUpper, ignoreFalseConditions, separator) +
|
||||
//
|
||||
ToString("isBreakDonOpenLower", isBreakDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonHighLower", isBreakDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonLowLower", isBreakDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakDonCloseLower", isBreakDonCloseLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonOpenLower", isBreakedDonOpenLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonHighLower", isBreakedDonHighLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonLowLower", isBreakedDonLowLower, ignoreFalseConditions, separator) +
|
||||
ToString("isBreakedDonCloseLower", isBreakedDonCloseLower, ignoreFalseConditions, separator) +
|
||||
//
|
||||
""
|
||||
//
|
||||
@@ -1092,110 +1092,110 @@ class XCX121XDONHelper : public XCBaseHelper
|
||||
int pIDX = cIDX + 1;
|
||||
|
||||
//
|
||||
bool isRejectDonOpenUpper = IsBarReject(
|
||||
bool isRejectedDonOpenUpper = IsBarReject(
|
||||
donOpenUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDonHighUpper = IsBarReject(
|
||||
bool isRejectedDonHighUpper = IsBarReject(
|
||||
donHighUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDonLowUpper = IsBarReject(
|
||||
bool isRejectedDonLowUpper = IsBarReject(
|
||||
donLowUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDonCloseUpper = IsBarReject(
|
||||
bool isRejectedDonCloseUpper = IsBarReject(
|
||||
donCloseUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isRejectDonOpenLower = IsBarReject(
|
||||
bool isRejectedDonOpenLower = IsBarReject(
|
||||
donOpenLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDonHighLower = IsBarReject(
|
||||
bool isRejectedDonHighLower = IsBarReject(
|
||||
donHighLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDonLowLower = IsBarReject(
|
||||
bool isRejectedDonLowLower = IsBarReject(
|
||||
donLowLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isRejectDonCloseLower = IsBarReject(
|
||||
bool isRejectedDonCloseLower = IsBarReject(
|
||||
donCloseLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isBreakDonOpenUpper = IsBarBreak(
|
||||
bool isBreakedDonOpenUpper = IsBarBreak(
|
||||
donOpenUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDonHighUpper = IsBarBreak(
|
||||
bool isBreakedDonHighUpper = IsBarBreak(
|
||||
donHighUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDonLowUpper = IsBarBreak(
|
||||
bool isBreakedDonLowUpper = IsBarBreak(
|
||||
donLowUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDonCloseUpper = IsBarBreak(
|
||||
bool isBreakedDonCloseUpper = IsBarBreak(
|
||||
donCloseUpperBuffer[cIDX],
|
||||
X_DIRECTION_BEARISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
bool isBreakDonOpenLower = IsBarBreak(
|
||||
bool isBreakedDonOpenLower = IsBarBreak(
|
||||
donOpenLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDonHighLower = IsBarBreak(
|
||||
bool isBreakedDonHighLower = IsBarBreak(
|
||||
donHighLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDonLowLower = IsBarBreak(
|
||||
bool isBreakedDonLowLower = IsBarBreak(
|
||||
donLowLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
bool isBreakDonCloseLower = IsBarBreak(
|
||||
bool isBreakedDonCloseLower = IsBarBreak(
|
||||
donCloseLowerBuffer[cIDX],
|
||||
X_DIRECTION_BULLISH,
|
||||
cBar //
|
||||
);
|
||||
|
||||
//
|
||||
conditions.isBreakDonLowUpper = isBreakDonLowUpper;
|
||||
conditions.isBreakDonLowLower = isBreakDonLowLower;
|
||||
conditions.isRejectDonLowUpper = isRejectDonLowUpper;
|
||||
conditions.isRejectDonLowLower = isRejectDonLowLower;
|
||||
conditions.isBreakDonOpenUpper = isBreakDonOpenUpper;
|
||||
conditions.isBreakDonHighUpper = isBreakDonHighUpper;
|
||||
conditions.isBreakDonOpenLower = isBreakDonOpenLower;
|
||||
conditions.isBreakDonHighLower = isBreakDonHighLower;
|
||||
conditions.isRejectDonOpenUpper = isRejectDonOpenUpper;
|
||||
conditions.isRejectDonOpenLower = isRejectDonOpenLower;
|
||||
conditions.isRejectDonHighUpper = isRejectDonHighUpper;
|
||||
conditions.isRejectDonHighLower = isRejectDonHighLower;
|
||||
conditions.isBreakDonCloseUpper = isBreakDonCloseUpper;
|
||||
conditions.isBreakDonCloseLower = isBreakDonCloseLower;
|
||||
conditions.isRejectDonCloseUpper = isRejectDonCloseUpper;
|
||||
conditions.isRejectDonCloseLower = isRejectDonCloseLower;
|
||||
conditions.isBreakedDonLowUpper = isBreakedDonLowUpper;
|
||||
conditions.isBreakedDonLowLower = isBreakedDonLowLower;
|
||||
conditions.isRejectedDonLowUpper = isRejectedDonLowUpper;
|
||||
conditions.isRejectedDonLowLower = isRejectedDonLowLower;
|
||||
conditions.isBreakedDonOpenUpper = isBreakedDonOpenUpper;
|
||||
conditions.isBreakedDonHighUpper = isBreakedDonHighUpper;
|
||||
conditions.isBreakedDonOpenLower = isBreakedDonOpenLower;
|
||||
conditions.isBreakedDonHighLower = isBreakedDonHighLower;
|
||||
conditions.isRejectedDonOpenUpper = isRejectedDonOpenUpper;
|
||||
conditions.isRejectedDonOpenLower = isRejectedDonOpenLower;
|
||||
conditions.isRejectedDonHighUpper = isRejectedDonHighUpper;
|
||||
conditions.isRejectedDonHighLower = isRejectedDonHighLower;
|
||||
conditions.isBreakedDonCloseUpper = isBreakedDonCloseUpper;
|
||||
conditions.isBreakedDonCloseLower = isBreakedDonCloseLower;
|
||||
conditions.isRejectedDonCloseUpper = isRejectedDonCloseUpper;
|
||||
conditions.isRejectedDonCloseLower = isRejectedDonCloseLower;
|
||||
|
||||
//
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user