last ...
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
//
|
||||
// Detect New Order Blocks ...
|
||||
bool hasNewBullishOB = Contains(
|
||||
X_BULLISH_ORDERBLOCK_DETECTED,
|
||||
consolidationPoiEvents //
|
||||
);
|
||||
bool hasNewBearishOB = Contains(
|
||||
X_BEARISH_ORDERBLOCK_DETECTED,
|
||||
consolidationPoiEvents //
|
||||
);
|
||||
bool hasNewOB = hasNewBullishOB ||
|
||||
hasNewBearishOB;
|
||||
result = hasNewOB;
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Make Sure New Order Block Detected ...
|
||||
XCOrderBlock *liveOB = NULL;
|
||||
if (hasNewBullishOB)
|
||||
{
|
||||
//
|
||||
bool hasBullishOBs = consolidationState.HasBullishOrderBlocks();
|
||||
int bullishOBsCount = consolidationState.CountBullishOrderBlocks();
|
||||
if (hasBullishOBs)
|
||||
{
|
||||
liveOB = consolidationState.bullishOrderBlocks[bullishOBsCount - 1];
|
||||
}
|
||||
}
|
||||
else if (hasNewBearishOB)
|
||||
{
|
||||
//
|
||||
bool hasBearishOBs = consolidationState.HasBearishOrderBlocks();
|
||||
int bearishOBsCount = consolidationState.CountBearishOrderBlocks();
|
||||
if (hasBearishOBs)
|
||||
{
|
||||
liveOB = consolidationState.bearishOrderBlocks[bearishOBsCount - 1];
|
||||
}
|
||||
}
|
||||
bool hasLiveOB = liveOB != NULL &&
|
||||
liveOB.IsValid();
|
||||
result = hasLiveOB;
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
bool isLiveOBBullish = liveOB.IsBullish();
|
||||
bool isLiveOBBearish = liveOB.IsBearish();
|
||||
|
||||
//
|
||||
ENUM_X_DIRECTION forDir =
|
||||
isLiveOBBullish
|
||||
? X_DIRECTION_BULLISH
|
||||
: X_DIRECTION_BEARISH;
|
||||
|
||||
//
|
||||
XOHCL startedBar;
|
||||
ENUM_X_DIRECTION startedDir;
|
||||
bool isLiveOBStarted = liveOB.IsStarted(
|
||||
forDir,
|
||||
startedBar,
|
||||
startedDir //
|
||||
);
|
||||
|
||||
//
|
||||
XOHCL activatedBar;
|
||||
ENUM_X_DIRECTION activatedDir;
|
||||
bool isLiveOBActivated = liveOB.IsActivated(
|
||||
forDir,
|
||||
activatedBar,
|
||||
activatedDir //
|
||||
);
|
||||
|
||||
//
|
||||
// DRAW ...
|
||||
//
|
||||
|
||||
//
|
||||
if (isLiveOBStarted)
|
||||
{
|
||||
//
|
||||
XCOHCLObject *barObj;
|
||||
bool isCreated = consolidationCycleHelper
|
||||
.mPOIDrawer
|
||||
.CreateBar(
|
||||
startedBar,
|
||||
barObj //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (isLiveOBActivated)
|
||||
{
|
||||
//
|
||||
XCOHCLObject *barObj;
|
||||
bool isCreated = consolidationCycleHelper
|
||||
.mPOIDrawer
|
||||
.CreateBar(
|
||||
activatedBar,
|
||||
barObj //
|
||||
);
|
||||
if (isCreated)
|
||||
{
|
||||
//
|
||||
barObj.BodyColor(clrGold);
|
||||
barObj.HighShadowColor(clrGold);
|
||||
barObj.LowShadowColor(clrGold);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Draw Live OB ...
|
||||
if (isLiveOBBullish)
|
||||
{
|
||||
//
|
||||
XCBullishOrderBlockObject *iObj;
|
||||
bool isCreated = consolidationCycleHelper
|
||||
.mPOIDrawer
|
||||
.CreateBullishOrderBlock(
|
||||
liveOB,
|
||||
iObj //
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
XCBearishOrderBlockObject *iObj;
|
||||
bool isCreated = consolidationCycleHelper
|
||||
.mPOIDrawer
|
||||
.CreateBearishOrderBlock(
|
||||
liveOB,
|
||||
iObj //
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user