This commit is contained in:
2025-01-24 00:19:09 +03:30
parent 330c70088c
commit 030f3ee2ee
5 changed files with 260 additions and 204 deletions
+80 -80
View File
@@ -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;