last works on clearify POI(s) ...

This commit is contained in:
2025-03-17 04:04:05 +03:30
parent 3b31c36541
commit a1f3289bb6
12 changed files with 10754 additions and 2086 deletions
+176 -23
View File
@@ -3348,22 +3348,29 @@ class XCPOIDrawer : public XCBase
int DrawState(
XPOIState &state,
XCBaseObject *&drawnObjects[],
bool drawTicksZone = false,
bool ignoreSwingHighs = false,
//
// Bullish ...
bool ignoreSwingLows = false,
bool ignoreSupportZones = false,
bool ignoreResistanceZones = false,
bool ignoreSupplyZones = false,
bool ignoreDemandZones = false,
bool ignoreSupportZones = false,
bool ignoreBullishSharps = false,
bool ignoreBullishSpikes = false,
bool ignoreBullishMomentums = false,
bool ignoreBullishRejections = false,
bool ignoreBullishOrderBlocks = false,
bool ignoreBearishOrderBlocks = false,
bool ignoreBullishFairValueGaps = false,
bool ignoreBearishFairValueGaps = false,
bool ignoreBullishRejectionBars = false,
bool ignoreBearishRejectionBars = false,
bool ignoreBullishMomentumBars = false,
bool ignoreBearishMomentumBars = false,
bool ignoreBullishConsolidationZones = false,
//
// Bearish ...
bool ignoreSwingHighs = false,
bool ignoreSupplyZones = false,
bool ignoreBearishSharps = false,
bool ignoreBearishSpikes = false,
bool ignoreResistanceZones = false,
bool ignoreBearishMomentums = false,
bool ignoreBearishRejections = false,
bool ignoreBearishOrderBlocks = false,
bool ignoreBearishFairValueGaps = false,
bool ignoreBearishConsolidationZones = false //
)
{
@@ -3380,6 +3387,9 @@ class XCPOIDrawer : public XCBase
//
Clean(drawnObjects);
//
// Swings ...
//
// SwingHighs ...
if (!ignoreSwingHighs)
@@ -3444,6 +3454,9 @@ class XCPOIDrawer : public XCBase
}
}
//
// Support / Resistance ...
//
// SupportZones ...
if (!ignoreSupportZones)
@@ -3508,6 +3521,9 @@ class XCPOIDrawer : public XCBase
}
}
//
// Supply / Demand ...
//
// SupplyZones ...
if (!ignoreSupplyZones)
@@ -3572,6 +3588,9 @@ class XCPOIDrawer : public XCBase
}
}
//
// Order Blocks ...
//
// BullishOrderBlocks ...
if (!ignoreBullishOrderBlocks)
@@ -3636,6 +3655,9 @@ class XCPOIDrawer : public XCBase
}
}
//
// Fair Value Gaps ...
//
// BullishFairValueGaps ...
if (!ignoreBullishFairValueGaps)
@@ -3700,19 +3722,22 @@ class XCPOIDrawer : public XCBase
}
}
//
// Rejections ...
//
// BullishRejectionBars ...
if (!ignoreBullishRejectionBars)
if (!ignoreBullishRejections)
{
//
int count = state.CountBullishRejectionBars();
int count = state.CountBullishRejections();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCRejectionBar *iBar = state.bullishRejectionBars[i];
XCRejectionBar *iBar = state.bullishRejections[i];
XCBullishRejectionBarObject *iObj;
//
@@ -3734,17 +3759,17 @@ class XCPOIDrawer : public XCBase
//
// BearishRejectionBars ...
if (!ignoreBearishRejectionBars)
if (!ignoreBearishRejections)
{
//
int count = state.CountBearishRejectionBars();
int count = state.CountBearishRejections();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCRejectionBar *iBar = state.bearishRejectionBars[i];
XCRejectionBar *iBar = state.bearishRejections[i];
XCBearishRejectionBarObject *iObj;
//
@@ -3764,19 +3789,22 @@ class XCPOIDrawer : public XCBase
}
}
//
// Momentums ...
//
// BullishMomentumBars ...
if (!ignoreBullishMomentumBars)
if (!ignoreBullishMomentums)
{
//
int count = state.CountBullishMomentumBars();
int count = state.CountBullishMomentums();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCMomentumBar *iBar = state.bullishMomentumBars[i];
XCMomentumBar *iBar = state.bullishMomentums[i];
XCBullishMomentumBarObject *iObj;
//
@@ -3798,17 +3826,17 @@ class XCPOIDrawer : public XCBase
//
// BearishMomentumBars ...
if (!ignoreBearishMomentumBars)
if (!ignoreBearishMomentums)
{
//
int count = state.CountBearishMomentumBars();
int count = state.CountBearishMomentums();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCMomentumBar *iBar = state.bearishMomentumBars[i];
XCMomentumBar *iBar = state.bearishMomentums[i];
XCBearishMomentumBarObject *iObj;
//
@@ -3828,6 +3856,9 @@ class XCPOIDrawer : public XCBase
}
}
//
// Consolidation Zones ...
//
// Bullish Consolidation Zones ...
if (!ignoreBullishConsolidationZones)
@@ -3886,6 +3917,128 @@ class XCPOIDrawer : public XCBase
}
}
//
// Spikes ...
//
// Bullish ...
if (!ignoreBullishSpikes)
{
//
int count = state.CountBullishSpikes();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCBoxObject *iObj;
bool isCreated = DrawBox(
state.bullishSpikes[i],
iObj //
);
if (isCreated)
{
//
Add(
(XCBaseObject *)iObj,
drawnObjects //
);
}
}
}
}
//
// Bearish ...
if (!ignoreBearishSpikes)
{
//
int count = state.CountBearishSpikes();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCBoxObject *iObj;
bool isCreated = DrawBox(
state.bearishSpikes[i],
iObj //
);
if (isCreated)
{
//
Add(
(XCBaseObject *)iObj,
drawnObjects //
);
}
}
}
}
//
// Sharps ...
//
// Bullish ...
if (!ignoreBullishSharps)
{
//
int count = state.CountBullishSharps();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCBoxObject *iObj;
bool isCreated = DrawBox(
state.bullishSharps[i],
iObj //
);
if (isCreated)
{
//
Add(
(XCBaseObject *)iObj,
drawnObjects //
);
}
}
}
}
//
// Bearish ...
if (!ignoreBearishSharps)
{
//
int count = state.CountBearishSharps();
if (IsValidSize(count))
{
//
for (int i = 0; i < count; i++)
{
//
XCBoxObject *iObj;
bool isCreated = DrawBox(
state.bearishSharps[i],
iObj //
);
if (isCreated)
{
//
Add(
(XCBaseObject *)iObj,
drawnObjects //
);
}
}
}
}
//
result = ArraySize(drawnObjects);