165 lines
2.9 KiB
Plaintext
165 lines
2.9 KiB
Plaintext
|
|
//
|
|
// Find Last Strong Support ...
|
|
double XPVHLPGetLastStrongSupport(
|
|
int bar_index, // Bar Index ...
|
|
int length // LoopBack ...
|
|
)
|
|
{
|
|
//
|
|
double result = 0;
|
|
|
|
//
|
|
bool isBarIndexSupport = XPVHLPIsStrongSupport(bar_index);
|
|
if (isBarIndexSupport)
|
|
{
|
|
length += bar_index;
|
|
}
|
|
|
|
//
|
|
if (!XPVHLPIsValidArraySize(bar_index + length + 1))
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
for (int i = bar_index; i < bar_index + length; i++)
|
|
{
|
|
//
|
|
if (XPVHLPIsStrongSupport(i))
|
|
{
|
|
//
|
|
result = mpvSLLBuffer[i];
|
|
break;
|
|
}
|
|
}
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
// Find Last Strong Resistance ...
|
|
double XPVHLPGetLastStrongResistance(
|
|
int bar_index, // Bar Index ...
|
|
int length // LoopBack ...
|
|
)
|
|
{
|
|
//
|
|
double result = 0;
|
|
|
|
//
|
|
bool isBarIndexResistance = XPVHLPIsStrongResistance(bar_index);
|
|
if (isBarIndexResistance)
|
|
{
|
|
length += bar_index;
|
|
}
|
|
|
|
//
|
|
if (!XPVHLPIsValidArraySize(bar_index + length + 1))
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
for (int i = bar_index; i < bar_index + length; i++)
|
|
{
|
|
//
|
|
if (XPVHLPIsStrongResistance(i))
|
|
{
|
|
//
|
|
result = mpvSHHBuffer[i];
|
|
break;
|
|
}
|
|
}
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
// Find Strong Support Break Stop ...
|
|
bool XPVHLPIsSupportBreakedStop(
|
|
int bar_index, // Bar Index ...
|
|
int length // LoopBack ...
|
|
)
|
|
{
|
|
//
|
|
bool result = false;
|
|
|
|
//
|
|
bool isBaIndexSupport = XPVHLPIsStrongSupport(bar_index);
|
|
if (isBaIndexSupport)
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
if (!XPVHLPIsValidArraySize(bar_index + length + 1))
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
bool isAllStrongSupport = true;
|
|
for (int i = bar_index; i < bar_index + length; i++)
|
|
{
|
|
//
|
|
if (!XPVHLPIsStrongSupport(i) && isAllStrongSupport)
|
|
{
|
|
//
|
|
isAllStrongSupport = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
//
|
|
result = !isBaIndexSupport && isAllStrongSupport;
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
// Find Strong Resistance Break Stop ...
|
|
bool XPVHLPIsResistanceBreakedStop(
|
|
int bar_index, // Bar Index ...
|
|
int length // LoopBack ...
|
|
)
|
|
{
|
|
//
|
|
bool result = false;
|
|
|
|
//
|
|
bool isBaIndexResistance = XPVHLPIsStrongResistance(bar_index);
|
|
if (isBaIndexResistance)
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
if (!XPVHLPIsValidArraySize(bar_index + length + 1))
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
bool isAllStrongResistance = true;
|
|
for (int i = bar_index; i < bar_index + length; i++)
|
|
{
|
|
//
|
|
if (!XPVHLPIsStrongResistance(i) && isAllStrongResistance)
|
|
{
|
|
//
|
|
isAllStrongResistance = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
//
|
|
result = !isBaIndexResistance && isAllStrongResistance;
|
|
|
|
//
|
|
return result;
|
|
}
|