add support of Activated Box Senario ...
This commit is contained in:
@@ -267,15 +267,6 @@ struct X121Conditions
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
// XTrend ...
|
||||
|
||||
//
|
||||
bool isTrendBullish;
|
||||
bool isTrendBearish;
|
||||
bool isTrendSwitchedToBullish;
|
||||
bool isTrendSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isRsiSlopeBullish;
|
||||
bool isStrSlopeBullish;
|
||||
@@ -1067,29 +1058,6 @@ struct X121Conditions
|
||||
bearishScore += highScore;
|
||||
}
|
||||
|
||||
//
|
||||
// XTREND ...
|
||||
|
||||
//
|
||||
if (isTrendBullish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isTrendSwitchedToBullish)
|
||||
{
|
||||
bullishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
if (isTrendBearish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isTrendSwitchedToBearish)
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
// XSAR ...
|
||||
|
||||
@@ -1796,14 +1764,6 @@ struct X121Conditions
|
||||
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"Trend ..." + separator +
|
||||
"-----------------------" + separator +
|
||||
ToString("isTrendBullish", isTrendBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendBearish", isTrendBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendSwitchedToBullish", isTrendSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendSwitchedToBearish", isTrendSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"STR ..." + separator +
|
||||
"-----------------------" + separator +
|
||||
ToString("isStrBullish", isStrBullish, ignoreFalseConditions, separator) +
|
||||
|
||||
@@ -53,6 +53,10 @@ struct XSignalBox
|
||||
XBoxZone fvg;
|
||||
XBoxZone sharp;
|
||||
|
||||
//
|
||||
double sl;
|
||||
double tp;
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
XSignalBox()
|
||||
@@ -68,6 +72,10 @@ struct XSignalBox
|
||||
*/
|
||||
void Clean()
|
||||
{
|
||||
//
|
||||
sl = 0;
|
||||
tp = 0;
|
||||
|
||||
//
|
||||
ob.Clean();
|
||||
fvg.Clean();
|
||||
|
||||
@@ -3112,6 +3112,35 @@ struct X121SMCStrategyConditionParser
|
||||
//
|
||||
// Checking Other Conditions ...
|
||||
|
||||
//
|
||||
// XVWAP ...
|
||||
|
||||
//
|
||||
bool isVWapSlopeBullish =
|
||||
cXConditions.isVwapFastSlopeBullish &&
|
||||
cXConditions.isVwapMidSlopeBullish &&
|
||||
cXConditions.isVwapSlowSlopeBullish;
|
||||
|
||||
//
|
||||
bool isVWapSlopeBearish =
|
||||
cXConditions.isVwapFastSlopeBearish &&
|
||||
cXConditions.isVwapMidSlopeBearish &&
|
||||
cXConditions.isVwapSlowSlopeBearish;
|
||||
|
||||
//
|
||||
bool isVWapBullishCondition =
|
||||
(cXConditions.isVWapBullishOrdered &&
|
||||
cXConditions.isVWapSwitchedToBullishState) ||
|
||||
(cXConditions.isVWapBullishState &&
|
||||
cXConditions.isVWapSwitchedToBullishOrdered);
|
||||
|
||||
//
|
||||
bool isVWapBearishCondition =
|
||||
(cXConditions.isVWapBearishOrdered &&
|
||||
cXConditions.isVWapSwitchedToBearishState) ||
|
||||
(cXConditions.isVWapBearishState &&
|
||||
cXConditions.isVWapSwitchedToBearishOrdered);
|
||||
|
||||
//
|
||||
// Bullish Conditions ...
|
||||
isBullish =
|
||||
@@ -3121,7 +3150,9 @@ struct X121SMCStrategyConditionParser
|
||||
//
|
||||
hasSignalBox &&
|
||||
isSignalBoxBullish &&
|
||||
isBarValidForBullish
|
||||
isVWapSlopeBullish &&
|
||||
isBarValidForBullish &&
|
||||
isVWapBullishCondition
|
||||
//
|
||||
)
|
||||
//
|
||||
@@ -3135,8 +3166,10 @@ struct X121SMCStrategyConditionParser
|
||||
(
|
||||
//
|
||||
hasSignalBox &&
|
||||
isVWapSlopeBearish &&
|
||||
!isSignalBoxBullish &&
|
||||
isBarValidForBearish
|
||||
isBarValidForBearish &&
|
||||
isVWapBearishCondition
|
||||
//
|
||||
)
|
||||
//
|
||||
@@ -3158,6 +3191,19 @@ struct X121SMCStrategyConditionParser
|
||||
//
|
||||
box = iSignalBox;
|
||||
box.UpdateTo(TimeCurrent());
|
||||
|
||||
//
|
||||
// Provide TP/SL ...
|
||||
|
||||
//
|
||||
box.sl = isBullish
|
||||
? cXConditions.vwapMin
|
||||
: cXConditions.vwapMax;
|
||||
|
||||
//
|
||||
box.tp = isBullish
|
||||
? box.sharp.upper
|
||||
: box.sharp.lower;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -485,7 +485,7 @@ class XCX121SMCXWZSignalDetector : public XCBase
|
||||
|
||||
//
|
||||
// Prepare Box fro SL ...
|
||||
iSL = pivot;
|
||||
iSL = signalBox.sl;
|
||||
Add(
|
||||
iSL,
|
||||
sls //
|
||||
@@ -493,7 +493,7 @@ class XCX121SMCXWZSignalDetector : public XCBase
|
||||
|
||||
//
|
||||
// Fix rf Reward ...
|
||||
rfRewar = 2;
|
||||
rfRewar = 1.5;
|
||||
}
|
||||
else if (signalProvider == X121SMC_XWZ_PROVIDER_XBREAKED_BOX)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user