Complete Ticks Zones ...
This commit is contained in:
@@ -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 ...
|
||||
|
||||
|
||||
Reference in New Issue
Block a user