apply some changes on signal senario 1 ...

This commit is contained in:
2025-03-09 22:42:47 +03:30
parent 202ae585dd
commit 09f7f9e27a
5 changed files with 1434 additions and 1443 deletions
+282 -266
View File
@@ -34,6 +34,8 @@ class XCX121SMCXWZSignalDetector : public XCBase
public:
//
// Props ...
bool useGuards;
bool useQuarterTargets;
X121SMCStrategyXWZWorkingZone workingZone;
X121SMCStrategyXWZSignalConditions mConditions;
X121SMCStrategyXWZSignalConditions mConditionsCollection[];
@@ -443,39 +445,39 @@ class XCX121SMCXWZSignalDetector : public XCBase
}
else if (signalProvider == X121SMC_XWZ_PROVIDER_ACTIVATED_BOX)
{
//
if (isBullish)
{
//
iSL = MathMin(
provider.decisionXConditions.le1Buffer[1],
provider.decisionXConditions.le2Buffer[1] //
);
if (iSL > 0)
{
//
Add(
iSL,
sls //
);
}
}
else
{
//
iSL = MathMax(
provider.decisionXConditions.se1Buffer[1],
provider.decisionXConditions.se2Buffer[1] //
);
if (iSL > 0)
{
//
Add(
iSL,
sls //
);
}
}
// //
// if (isBullish)
// {
// //
// iSL = MathMin(
// provider.decisionXConditions.le1Buffer[1],
// provider.decisionXConditions.le2Buffer[1] //
// );
// if (iSL > 0)
// {
// //
// Add(
// iSL,
// sls //
// );
// }
// }
// else
// {
// //
// iSL = MathMax(
// provider.decisionXConditions.se1Buffer[1],
// provider.decisionXConditions.se2Buffer[1] //
// );
// if (iSL > 0)
// {
// //
// Add(
// iSL,
// sls //
// );
// }
// }
}
else if (signalProvider == X121SMC_XWZ_PROVIDER_ACTIVATED_AREA)
{
@@ -483,7 +485,7 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
double iAtr = provider.decisionXConditions.atrBuffer[1];
iAtr *= 0;
iAtr *= 2;
//
// Select Condition SL ...
@@ -532,266 +534,271 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
// Based On Priority ...
has = priority != X121SMC_XWZ_PRIORITY_NONE;
if (has)
useQuarterTargets = false;
if (useQuarterTargets)
{
//
switch (priority)
has = priority != X121SMC_XWZ_PRIORITY_NONE;
if (has)
{
//
case X121SMC_XWZ_PRIORITY_WEAK:
//
if (isBullish)
switch (priority)
{
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
}
break;
//
case X121SMC_XWZ_PRIORITY_LOW:
//
if (isBullish)
{
case X121SMC_XWZ_PRIORITY_WEAK:
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
if (isBullish)
{
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
}
break;
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
}
break;
//
case X121SMC_XWZ_PRIORITY_REGULAR:
//
if (isBullish)
{
case X121SMC_XWZ_PRIORITY_LOW:
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
if (isBullish)
{
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
}
break;
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
}
break;
//
case X121SMC_XWZ_PRIORITY_HIGH:
//
if (isBullish)
{
case X121SMC_XWZ_PRIORITY_REGULAR:
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
if (isBullish)
{
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// High ...
Add(
workingZone.quarter3,
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
}
break;
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// High ...
Add(
workingZone.quarter1,
targets //
);
}
break;
//
case X121SMC_XWZ_PRIORITY_STRONG_HIGH:
//
if (isBullish)
{
case X121SMC_XWZ_PRIORITY_HIGH:
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
if (isBullish)
{
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// High ...
Add(
workingZone.quarter3,
targets //
);
//
// High ...
Add(
workingZone.quarter3,
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// High ...
Add(
workingZone.quarter1,
targets //
);
}
break;
//
case X121SMC_XWZ_PRIORITY_STRONG_HIGH:
//
// Strong High ...
Add(
workingZone.demandZone.Upper(),
targets //
);
if (isBullish)
{
//
// Weak ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
//
// Low ...
Add(
workingZone.quarter1,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// High ...
Add(
workingZone.quarter3,
targets //
);
//
// Strong High ...
Add(
workingZone.demandZone.Upper(),
targets //
);
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// High ...
Add(
workingZone.quarter1,
targets //
);
//
// Strong High ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
}
break;
}
else
{
//
// Weak ...
Add(
workingZone.demandZone.Upper(),
targets //
);
//
// Low ...
Add(
workingZone.quarter3,
targets //
);
//
// Regular ...
Add(
workingZone.quarter2,
targets //
);
//
// High ...
Add(
workingZone.quarter1,
targets //
);
//
// Strong High ...
Add(
workingZone.supplyZone.Lower(),
targets //
);
}
break;
}
}
}
@@ -967,6 +974,12 @@ class XCX121SMCXWZSignalDetector : public XCBase
//
bool result = false;
//
if (!useGuards)
{
return result;
}
//
Clean(guards);
@@ -1653,6 +1666,9 @@ class XCX121SMCXWZSignalDetector : public XCBase
*/
void Init()
{
//
useGuards = true;
useQuarterTargets = true;
}
/**