last ...
This commit is contained in:
@@ -4630,223 +4630,6 @@ class XCPOIDrawer : public XCBase
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
int DrawOBFVG(
|
||||
//
|
||||
XOBFVG &item,
|
||||
XCBaseObject *&objects[],
|
||||
//
|
||||
bool drawOrderBlock = true,
|
||||
bool drawFairValueGaps = true,
|
||||
bool drawAllFVGs = true,
|
||||
//
|
||||
bool drawOBStartedBar = true,
|
||||
bool drawOBActivatedBar = true,
|
||||
bool drawOBBreakedBar = true,
|
||||
bool drawOBWorkedBar = true,
|
||||
//
|
||||
bool drawFVGStartedBar = true,
|
||||
bool drawFVGActivatedBar = true,
|
||||
bool drawFVGBreakedBar = true,
|
||||
bool drawFVGWorkedBar = true,
|
||||
//
|
||||
// Order Block Specs ...
|
||||
//
|
||||
int widthOBStartedBar = 1,
|
||||
color clrOBStartedBar = clrYellow,
|
||||
ENUM_LINE_STYLE styleOBStartedBar = STYLE_SOLID,
|
||||
//
|
||||
int widthOBActivatedBar = 1,
|
||||
color clrOBActivatedBar = clrLime,
|
||||
ENUM_LINE_STYLE styleOBActivatedBar = STYLE_SOLID,
|
||||
//
|
||||
int widthOBBreakedBar = 1,
|
||||
color clrOBBreakedBar = clrRed,
|
||||
ENUM_LINE_STYLE styleOBBreakedBar = STYLE_SOLID,
|
||||
//
|
||||
int widthOBWorkedBar = 1,
|
||||
color clrOBWorkedBar = clrAqua,
|
||||
ENUM_LINE_STYLE styleOBWorkedBar = STYLE_SOLID,
|
||||
//
|
||||
// Fair Value Gap Specs ...
|
||||
//
|
||||
int widthFVGStartedBar = 1,
|
||||
color clrFVGStartedBar = clrYellow,
|
||||
ENUM_LINE_STYLE styleFVGStartedBar = STYLE_SOLID,
|
||||
//
|
||||
int widthFVGActivatedBar = 1,
|
||||
color clrFVGActivatedBar = clrLime,
|
||||
ENUM_LINE_STYLE styleFVGActivatedBar = STYLE_SOLID,
|
||||
//
|
||||
int widthFVGBreakedBar = 1,
|
||||
color clrFVGBreakedBar = clrRed,
|
||||
ENUM_LINE_STYLE styleFVGBreakedBar = STYLE_SOLID,
|
||||
//
|
||||
int widthFVGWorkedBar = 1,
|
||||
color clrFVGWorkedBar = clrAqua,
|
||||
ENUM_LINE_STYLE styleFVGWorkedBar = STYLE_SOLID
|
||||
//
|
||||
)
|
||||
{
|
||||
//
|
||||
int result = 0;
|
||||
|
||||
//
|
||||
Clean(objects);
|
||||
|
||||
//
|
||||
bool isValid = item.IsValid();
|
||||
if (!isValid)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
int count = 0;
|
||||
bool has = false;
|
||||
bool isCreated = false;
|
||||
XCBaseObject *tmpObjects[];
|
||||
|
||||
//
|
||||
// Order Block ...
|
||||
has = item.HasOB();
|
||||
if (has &&
|
||||
drawOrderBlock)
|
||||
{
|
||||
//
|
||||
Clean(tmpObjects);
|
||||
count = DrawOrderBlock(
|
||||
item.ob,
|
||||
tmpObjects,
|
||||
drawOBStartedBar,
|
||||
drawOBActivatedBar,
|
||||
drawOBBreakedBar,
|
||||
drawOBWorkedBar,
|
||||
widthOBStartedBar,
|
||||
clrOBStartedBar,
|
||||
styleOBStartedBar,
|
||||
widthOBActivatedBar,
|
||||
clrOBActivatedBar,
|
||||
styleOBActivatedBar,
|
||||
widthOBBreakedBar,
|
||||
clrOBBreakedBar,
|
||||
styleOBBreakedBar,
|
||||
widthOBWorkedBar,
|
||||
clrOBWorkedBar,
|
||||
styleOBWorkedBar //
|
||||
);
|
||||
has = IsValidSize(count);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
Copy(
|
||||
tmpObjects,
|
||||
objects,
|
||||
false //
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Fair Value Gap ...
|
||||
if (!drawAllFVGs)
|
||||
{
|
||||
XCFVG *fvg;
|
||||
has = item.GetMainFVG(fvg);
|
||||
if (has &&
|
||||
drawFairValueGaps)
|
||||
{
|
||||
//
|
||||
Clean(tmpObjects);
|
||||
int fvgsCount = DrawFairValueGap(
|
||||
fvg,
|
||||
tmpObjects,
|
||||
drawFVGStartedBar,
|
||||
drawFVGActivatedBar,
|
||||
drawFVGBreakedBar,
|
||||
drawFVGWorkedBar,
|
||||
widthFVGStartedBar,
|
||||
clrFVGStartedBar,
|
||||
styleFVGStartedBar,
|
||||
widthFVGActivatedBar,
|
||||
clrFVGActivatedBar,
|
||||
styleFVGActivatedBar,
|
||||
widthFVGBreakedBar,
|
||||
clrFVGBreakedBar,
|
||||
styleFVGBreakedBar,
|
||||
widthFVGWorkedBar,
|
||||
clrFVGWorkedBar,
|
||||
styleFVGWorkedBar //
|
||||
);
|
||||
has = IsValidSize(fvgsCount);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
Copy(
|
||||
tmpObjects,
|
||||
objects,
|
||||
false //
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
has = item.HasFVGs();
|
||||
if (has &&
|
||||
drawFairValueGaps)
|
||||
{
|
||||
//
|
||||
count = item.CountFVGs();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
Clean(tmpObjects);
|
||||
int fvgsCount = DrawFairValueGap(
|
||||
item.fvgs[i],
|
||||
tmpObjects,
|
||||
drawFVGStartedBar,
|
||||
drawFVGActivatedBar,
|
||||
drawFVGBreakedBar,
|
||||
drawFVGWorkedBar,
|
||||
widthFVGStartedBar,
|
||||
clrFVGStartedBar,
|
||||
styleFVGStartedBar,
|
||||
widthFVGActivatedBar,
|
||||
clrFVGActivatedBar,
|
||||
styleFVGActivatedBar,
|
||||
widthFVGBreakedBar,
|
||||
clrFVGBreakedBar,
|
||||
styleFVGBreakedBar,
|
||||
widthFVGWorkedBar,
|
||||
clrFVGWorkedBar,
|
||||
styleFVGWorkedBar //
|
||||
);
|
||||
has = IsValidSize(fvgsCount);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
Copy(
|
||||
tmpObjects,
|
||||
objects,
|
||||
false //
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
Clean(tmpObjects);
|
||||
|
||||
//
|
||||
result = ArraySize(objects);
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
protected:
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user