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