last ...
This commit is contained in:
@@ -46,6 +46,202 @@ string XTLSBearishOrderBlockToken = "XBearishOrderBlock";
|
||||
//
|
||||
// Helper Tools ...
|
||||
|
||||
//
|
||||
bool HasBullishPattern(
|
||||
XOHCL &bar,
|
||||
int loopback = 0,
|
||||
int verifications = 1,
|
||||
bool checkHammer = true,
|
||||
bool checkMorningStar = true,
|
||||
bool checkBullishMarubozu = true,
|
||||
bool checkBullishEngulfing = true //
|
||||
)
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
result = bar.IsValid();
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
if (verifications <= 0)
|
||||
{
|
||||
verifications = 1;
|
||||
}
|
||||
|
||||
//
|
||||
int founded = 0;
|
||||
|
||||
//
|
||||
int idx = bar.Index();
|
||||
for (int i = idx; i <= idx + loopback; i++)
|
||||
{
|
||||
//
|
||||
XOHCL iBar;
|
||||
result = iBar.Init(
|
||||
bar.symbol,
|
||||
bar.period,
|
||||
i //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
bool isHammer =
|
||||
!checkHammer
|
||||
? false
|
||||
: iBar.IsHammer();
|
||||
if (isHammer)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
bool isMorningStar =
|
||||
!checkMorningStar
|
||||
? false
|
||||
: iBar.IsMorningStar();
|
||||
if (isMorningStar)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
bool isBullishMarubozu =
|
||||
!checkBullishMarubozu
|
||||
? false
|
||||
: iBar.IsBullishMarubozu();
|
||||
if (isBullishMarubozu)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
bool isBullishEngulfing =
|
||||
!checkBullishEngulfing
|
||||
? false
|
||||
: iBar.IsBullishEngulfing();
|
||||
if (isBullishEngulfing)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
}
|
||||
|
||||
//
|
||||
result =
|
||||
result &&
|
||||
founded >= verifications;
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
bool HasBearishPattern(
|
||||
XOHCL &bar,
|
||||
int loopback = 0,
|
||||
int verifications = 1,
|
||||
bool checkShootingStar = true,
|
||||
bool checkEveningStar = true,
|
||||
bool checkBearishMarubozu = true,
|
||||
bool checkBearishEngulfing = true //
|
||||
)
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
result = bar.IsValid();
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
if (verifications <= 0)
|
||||
{
|
||||
verifications = 1;
|
||||
}
|
||||
|
||||
//
|
||||
int founded = 0;
|
||||
|
||||
//
|
||||
int idx = bar.Index();
|
||||
for (int i = idx - 1; i <= idx + loopback; i++)
|
||||
{
|
||||
//
|
||||
XOHCL iBar;
|
||||
result = iBar.Init(
|
||||
bar.symbol,
|
||||
bar.period,
|
||||
i //
|
||||
);
|
||||
if (!result)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
bool isShootingStar =
|
||||
!checkShootingStar
|
||||
? false
|
||||
: iBar.IsShootingStar();
|
||||
if (isShootingStar)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
bool isEveningStar =
|
||||
!checkEveningStar
|
||||
? false
|
||||
: iBar.IsEveningStar();
|
||||
if (isEveningStar)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
bool isBearishMarubozu =
|
||||
!checkBearishMarubozu
|
||||
? false
|
||||
: iBar.IsBearishMarubozu();
|
||||
if (isBearishMarubozu)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
bool isBearishEngulfing =
|
||||
!checkBearishEngulfing
|
||||
? false
|
||||
: iBar.IsBearishEngulfing();
|
||||
if (isBearishEngulfing)
|
||||
{
|
||||
founded++;
|
||||
}
|
||||
|
||||
//
|
||||
}
|
||||
|
||||
//
|
||||
result =
|
||||
result &&
|
||||
founded >= verifications;
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
bool IsSupportBreaked(
|
||||
XOHCL &bar, // Support Bar
|
||||
|
||||
Reference in New Issue
Block a user