Files

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;
}