Complete Ticks Zones ...

This commit is contained in:
2024-11-14 20:57:29 +03:30
parent 53f3f94b75
commit b921b45eb2
4 changed files with 995 additions and 5 deletions
+161 -4
View File
@@ -437,6 +437,63 @@ class XCPOIDetector : public XCBaseAlert
mFairValueGapsSameBars = value;
}
//
// Ticks Zone ...
/**
* Get Ticks Range Levels ...
*
* @return ( int )
*/
int TicksRangeZoneLevel()
{
return mTicksRangeZoneLevel;
}
/**
* Set Ticks Range Levels ...
*
* @param value: Integer ...
*/
void TicksRangeZoneLevel(int value)
{
//
if (value < 2)
{
value = 2;
}
//
mTicksRangeZoneLevel = value;
}
/**
* Get Ticks Range Zone Loopback Period ...
*
* @return ( int )
*/
int TicksRangeZoneRange()
{
return mTicksRangeZoneRange;
}
/**
* Set Ticks Range Zone Loopback Period ...
*
* @param value: Integer ...
*/
void TicksRangeZoneRange(int value)
{
//
if (value < 7)
{
value = 7;
}
//
mTicksRangeZoneRange = value;
}
//
// Actions ...
@@ -952,6 +1009,20 @@ class XCPOIDetector : public XCBaseAlert
}
}
//
// Ticks Range Zone ...
int ticksLevels = TicksRangeZoneLevel();
int ticksRange = TicksRangeZoneRange();
if (ticksLevels > 0 &&
ticksRange > 0)
{
//
isDetected = DetectTicksZoneRange(cBar);
if (isDetected)
{
}
}
//
ValidatePOIs(cBar);
@@ -1109,6 +1180,10 @@ class XCPOIDetector : public XCBaseAlert
//
FairValueGapsSameBars(3);
//
TicksRangeZoneLevel(10);
TicksRangeZoneRange(144);
}
//
@@ -3283,7 +3358,8 @@ class XCPOIDetector : public XCBaseAlert
//
int sameBars = OrderBlocksSameBars();
if (sameBars < 0)
result = sameBars > 0;
if (!result)
{
return result;
}
@@ -3440,7 +3516,8 @@ class XCPOIDetector : public XCBaseAlert
//
int sameBars = OrderBlocksSameBars();
if (sameBars < 0)
result = sameBars > 0;
if (!result)
{
return result;
}
@@ -3601,7 +3678,8 @@ class XCPOIDetector : public XCBaseAlert
//
int sameBars = FairValueGapsSameBars();
if (sameBars < 0)
result = sameBars > 0;
if (!result)
{
return result;
}
@@ -3761,7 +3839,8 @@ class XCPOIDetector : public XCBaseAlert
//
int sameBars = FairValueGapsSameBars();
if (sameBars < 0)
result = sameBars > 0;
if (!result)
{
return result;
}
@@ -3896,6 +3975,84 @@ class XCPOIDetector : public XCBaseAlert
return result;
}
//
// Ticks Range Zones ...
int mTicksRangeZoneLevel; // Ticks Range Levels ...
int mTicksRangeZoneRange; // Ticks Range Zone Loopback Period ...
//
XCTicksZone *mTicksZone; // Ticks Zone ...
// XCTicksZoneObject *mTicksZoneObject; // Ticks Zone Object ...
/**
* Detect Ticks Zone Range ...
*
* @param bar: XOHCL instance ...
*
* @return ( bool )
*/
bool DetectTicksZoneRange(XOHCL &bar)
{
//
bool result = false;
//
result = bar.IsValid();
if (!result)
{
return result;
}
//
int ticksLevels = TicksRangeZoneLevel();
int ticksRange = TicksRangeZoneRange();
result = ticksLevels > 0 &&
ticksRange > 0;
if (!result)
{
return result;
}
//
int startBarIndex = bar.Index() + ticksRange;
XOHCL startBar;
result = startBar.Init(
bar.symbol,
bar.period,
startBarIndex //
);
if (!result)
{
return result;
}
//
mTicksZone = new XCTicksZone();
result = mTicksZone.Init(
startBar,
bar //
);
if (!result)
{
//
mTicksZone = NULL;
return result;
}
// //
// if (mTicksZoneObject != NULL)
// {
// mTicksZoneObject.Destroy();
// }
// mDrawer.CreateTicksZone(
// mTicksZone,
// mTicksZoneObject //
// );
//
return result;
}
//
// Liquidity Zones ...