This commit is contained in:
2025-03-21 06:51:15 +03:30
parent 419d697eb8
commit 0459bf2ac4
6 changed files with 2250 additions and 1393 deletions
-217
View File
@@ -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:
//