Add support for Breaked or Rejected Support and Resistance lines in XOHCL struct ...

This commit is contained in:
2024-05-31 00:48:14 +03:30
parent 159717403f
commit 75ecdc6adf
4 changed files with 523 additions and 104 deletions
+134 -70
View File
@@ -7521,28 +7521,30 @@ private:
//
cHasX786
//
||
&&
//
sHasX786
//
||
&&
//
mHasX786
//
||
&&
//
lHasX786
//
||
//
hHasX786
// &&
// //
// hHasX786
//
;
//
if (result)
{
r2r = 1.5;
//
r2r = 1;
sl = cMarket.don.GetLowerH(cIndex);
}
//
@@ -7600,28 +7602,30 @@ private:
//
cHasX121
//
||
&&
//
sHasX121
//
||
&&
//
mHasX121
//
||
&&
//
lHasX121
//
||
//
hHasX121
// &&
// //
// hHasX121
//
;
//
if (result)
{
r2r = 1.5;
//
r2r = 1;
sl = cMarket.mrb.GetSlow(cIndex);
}
//
@@ -8542,80 +8546,138 @@ private:
int pIndex = cIndex + 1;
//
// Current Market ...
double cUpperLow = cMarket.don.GetUpperL(cIndex);
bool cHasX786 = cMarket.HasX786ShortConditions();
//
// Short Market ...
double sUpperLow = sMarket.don.GetUpperL(cIndex);
bool sHasX786 = sMarket.HasX786ShortConditions();
//
// Medium Market ...
double mUpperLow = mMarket.don.GetUpperL(cIndex);
bool mHasX786 = mMarket.HasX786ShortConditions();
//
// Long Market ...
double lUpperLow = lMarket.don.GetUpperL(cIndex);
bool lHasX786 = lMarket.HasX786ShortConditions();
bool hHasX786 = hMarket.HasX786ShortConditions();
//
// Hind Market ...
double hUpperLow = hMarket.don.GetUpperL(cIndex);
bool hHasX786 = hMarket.HasX786ShortConditions();
double cMarketSLe = cMarket.don.GetUpperL(cIndex);
double sMarketSLe = sMarket.don.GetUpperL(cIndex);
double mMarketSLe = mMarket.don.GetUpperL(cIndex);
double lMarketSLe = lMarket.don.GetUpperL(cIndex);
double hMarketSLe = hMarket.don.GetUpperL(cIndex);
//
bool condition1 =
//
((cHasX786 &&
sHasX786)
//
||
//
(cHasX786 &&
mHasX786))
//
;
//
bool condition2 =
//
((sHasX786 &&
mHasX786)
//
||
//
(sHasX786 &&
lHasX786))
//
;
//
bool condition3 =
//
((mHasX786 &&
lHasX786)
//
||
//
(mHasX786 &&
hHasX786))
//
;
//
bool condition4 =
//
(lHasX786 &&
hHasX786)
//
;
//
if (condition1)
{
//
double sls[] = {
cMarketSLe,
sMarketSLe,
mMarketSLe //
};
//
sl = GetAverage(sls);
}
else if (condition2)
{
//
double sls[] = {
sMarketSLe,
mMarketSLe,
lMarketSLe //
};
//
sl = GetAverage(sls);
}
else if (condition3)
{
//
double sls[] = {
mMarketSLe,
lMarketSLe,
hMarketSLe //
};
//
sl = GetAverage(sls);
}
else if (condition4)
{
//
double sls[] = {
lMarketSLe,
hMarketSLe //
};
//
sl = GetAverage(sls);
}
//
result =
//
cHasX786
condition1
//
||
//
sHasX786
condition2
//
||
//
mHasX786
condition3
//
||
//
lHasX786
//
// ||
// //
// hHasX786
condition4
//
;
//
if (result)
{
//
if (cHasX786)
{
sl = cUpperLow;
}
else if (sHasX786)
{
sl = sUpperLow;
}
else if (mHasX786)
{
sl = mUpperLow;
}
else if (lHasX786)
{
sl = lUpperLow;
}
else if (hHasX786)
{
sl = hUpperLow;
}
//
r2r = 2;
r2r = 1;
}
//
@@ -8673,28 +8735,30 @@ private:
//
cHasX121
//
||
&&
//
sHasX121
//
||
&&
//
mHasX121
//
||
&&
//
lHasX121
//
||
//
hHasX121
// ||
// //
// hHasX121
//
;
//
if (result)
{
r2r = 1.5;
//
r2r = 1;
sl = cMarket.mrb.GetFast(cIndex);
}
//