Files
xMQL5/BKPS/14030412/Documents/BKP/Templates/strategies.mq5
T
2024-07-02 17:37:21 +03:30

1388 lines
43 KiB
Plaintext

//
// Check Market Conditions for Long Signals ...
bool HasLongConditions(
X121SetupConditions &conditions, // Conditions
int &pusher, // Pushers
string &provider // Provider
)
{
//
bool result = false;
//
pusher = 0;
//
bool isOSCShortVerified = IsOSCShortVerified(conditions);
//
int zIndex = 0;
int cIndex = zIndex + 1;
int pIndex = cIndex + 1;
//
double bullishScore = 0;
double bearishScore = 0;
conditions.GenerateScore(
bullishScore,
bearishScore //
);
//
// XMC ...
bool long1 =
//
// Starting Conditions ...
conditions.mcConditions.isSwitchedToBullish &&
//
// Verifications ...
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.tdConditions.isBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long1)
{
//
pusher++;
provider = ToString(PROVIDER_XMC);
}
//
// XSARD ...
bool long2 =
//
// Starting Conditions ...
conditions.mcConditions.isSARSwitchedToBullish &&
//
// Verifications ...
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.tdConditions.isBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long2)
{
//
pusher++;
provider = ToString(PROVIDER_XSARD);
}
//
// XADXTD ...
bool long3 =
//
// Starting Conditions ...
conditions.adxtdConditions.isStrongSwitchedToBullish &&
//
// Verifications ...
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.tdConditions.isBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long3)
{
//
pusher++;
provider = ToString(PROVIDER_XADXTD);
}
//
// XSTR ...
bool long4 =
//
// Starting Conditions ...
conditions.strConditions.isTrendSwitchedToBullish &&
//
// Verifications ...
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.tdConditions.isBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long4)
{
//
pusher++;
provider = ToString(PROVIDER_XSTR);
}
//
// XCHE ...
bool long5 =
//
// Starting Conditions ...
conditions.cheConditions.isStrongSwitchedToBullish &&
//
// Verifications ...
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.tdConditions.isBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long5)
{
//
pusher++;
provider = ToString(PROVIDER_XCHE);
}
//
// XTD ...
bool long6 =
//
// Starting Conditions ...
conditions.tdConditions.isSwitchedToBullish &&
//
// Verifications ...
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long6)
{
//
pusher++;
provider = ToString(PROVIDER_XTD);
}
//
// XSI ...
bool long7 =
//
// Starting Conditions ...
conditions.rsi[cIndex] > 30 &&
conditions.rsi[pIndex] <= 30 &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long7)
{
//
pusher++;
provider = ToString(PROVIDER_XSI);
}
//
// XCI ...
bool long8 =
//
// Starting Conditions ...
conditions.cci[cIndex] > -100 &&
conditions.cci[pIndex] <= -100 &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long8)
{
//
pusher++;
provider = ToString(PROVIDER_XCI);
}
//
// XMCD ...
bool long9 =
//
// Starting Conditions ...
conditions.macd[cIndex] > 0 &&
conditions.macd[cIndex] > conditions.macdSignal[cIndex] &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long9)
{
//
pusher++;
provider = ToString(PROVIDER_XMCD);
}
//
// XICH ...
bool long10 =
//
// Starting Conditions ...
conditions.ichConditions.HasLongConditions() &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long10)
{
//
pusher++;
provider = ToString(PROVIDER_XICH);
}
//
// XHK ...
bool long11 =
//
// Starting Conditions ...
conditions.hkConditions.isHKSwitchedToBullish &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long11)
{
//
pusher++;
provider = ToString(PROVIDER_XHK);
}
//
// XSMHK ...
bool long12 =
//
// Starting Conditions ...
conditions.hkConditions.isSMHKSwitchedToBullish &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long12)
{
//
pusher++;
provider = ToString(PROVIDER_XSMHK);
}
//
// XMRB ...
bool long13 =
//
// Starting Conditions ...
conditions.mrbConditions.isFastCrossedOverSlow &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.sslcConditions.isBullish &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long13)
{
//
pusher++;
provider = ToString(PROVIDER_XMRB);
}
//
// XSSLC ...
bool long14 =
//
// Starting Conditions ...
conditions.sslcConditions.isSwitchedToBullish &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.hullConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long14)
{
//
pusher++;
provider = ToString(PROVIDER_XSSLC);
}
//
// XHULL ...
bool long15 =
//
// Starting Conditions ...
conditions.hullConditions.isSwitchedToBullish &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.sslcConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long15)
{
//
pusher++;
provider = ToString(PROVIDER_XHULL);
}
//
// XASCT ...
bool long16 =
//
// Starting Conditions ...
conditions.asctConditions.isLongSignal &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.hullConditions.isBullish &&
conditions.sslcConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long16)
{
//
pusher++;
provider = ToString(PROVIDER_XASCT);
}
//
// XVLM ...
bool long17 =
//
// Starting Conditions ...
conditions.vlmConditions.isVolumeChangedToBullish &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.hullConditions.isBullish &&
conditions.sslcConditions.isBullish
//
;
if (long17)
{
//
pusher++;
provider = ToString(PROVIDER_XVLM);
}
//
// XPVF ...
bool long18 =
//
// Starting Conditions ...
conditions.pvConditions.isFiboIncreased &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.hkConditions.isHKBullish &&
conditions.hkConditions.isSMHKBullish &&
conditions.mrbConditions.isFastOverSlow &&
conditions.hullConditions.isBullish &&
conditions.sslcConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long18)
{
//
pusher++;
provider = ToString(PROVIDER_XPVF);
}
//
// XPVSAR ...
bool long19 =
//
// Starting Conditions ...
conditions.mcConditions.isSARSwitchedToBullish &&
conditions.pvConditions.vales[zIndex] == conditions.mcConditions.psar[zIndex] &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish
//
;
if (long19)
{
//
pusher += 2;
provider = ToString(PROVIDER_XPVSAR);
}
//
// XHTSRD ...
bool long20 =
//
// Starting Conditions ...
conditions.IsTrendBullish() &&
conditions.dmntConditions.isBullish &&
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.vlmConditions.isVolumeBullish
//
;
if (long20)
{
//
pusher++;
provider = ToString(PROVIDER_XHTSRD);
}
//
result =
//
pusher >= 1 &&
// !isOSCShortVerified &&
// bullishScore > bearishScore * 2 &&
(
//
long1
//
||
//
long2
//
||
//
long3
//
||
//
long4
//
||
//
long5
//
||
//
long6
//
||
//
long7
//
||
//
long8
//
||
//
long9
//
||
//
long10
//
||
//
long11
//
||
//
long12
//
||
//
long13
//
||
//
long14
//
||
//
long15
//
||
//
long16
//
||
//
long17
//
||
//
long18
//
||
//
long19
//
||
//
long20
//
)
//
;
//
return result;
}
//
// Check Market Conditions for Short Signals ...
bool HasShortConditions(
X121SetupConditions &conditions, // Conditions
int &pusher, // Pushers
string &provider // Provider
)
{
//
bool result = false;
//
pusher = 0;
//
bool isOSCLongVerified = IsOSCLongVerified(conditions);
//
int zIndex = 0;
int cIndex = zIndex + 1;
int pIndex = cIndex + 1;
//
double bullishScore = 0;
double bearishScore = 0;
conditions.GenerateScore(
bullishScore,
bearishScore //
);
//
// XMC ...
bool short1 =
//
// Starting Conditions ...
conditions.mcConditions.isSwitchedToBearish &&
//
// Verifications ...
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.tdConditions.isBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short1)
{
//
pusher++;
provider = ToString(PROVIDER_XMC);
}
//
// XSARD ...
bool short2 =
//
// Starting Conditions ...
conditions.mcConditions.isSARSwitchedToBearish &&
//
// Verifications ...
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.tdConditions.isBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short2)
{
//
pusher++;
provider = ToString(PROVIDER_XSARD);
}
//
// XADXTD ...
bool short3 =
//
// Starting Conditions ...
conditions.adxtdConditions.isStrongSwitchedToBearish &&
//
// Verifications ...
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.tdConditions.isBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short3)
{
//
pusher++;
provider = ToString(PROVIDER_XADXTD);
}
//
// XSTR ...
bool short4 =
//
// Starting Conditions ...
conditions.strConditions.isTrendSwitchedToBearish &&
//
// Verifications ...
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.tdConditions.isBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short4)
{
//
pusher++;
provider = ToString(PROVIDER_XSTR);
}
//
// XCHE ...
bool short5 =
//
// Starting Conditions ...
conditions.cheConditions.isStrongSwitchedToBearish &&
//
// Verifications ...
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.tdConditions.isBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short5)
{
//
pusher++;
provider = ToString(PROVIDER_XCHE);
}
//
// XTD ...
bool short6 =
//
// Starting Conditions ...
conditions.tdConditions.isSwitchedToBearish &&
//
// Verifications ...
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short6)
{
//
pusher++;
provider = ToString(PROVIDER_XTD);
}
//
// XSI ...
bool short7 =
//
// Starting Conditions ...
conditions.rsi[cIndex] < 70 &&
conditions.rsi[pIndex] >= 70 &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short7)
{
//
pusher++;
provider = ToString(PROVIDER_XSI);
}
//
// XCI ...
bool short8 =
//
// Starting Conditions ...
conditions.cci[cIndex] < 100 &&
conditions.cci[pIndex] >= 100 &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short8)
{
//
pusher++;
provider = ToString(PROVIDER_XCI);
}
//
// XMCD ...
bool short9 =
//
// Starting Conditions ...
conditions.macd[cIndex] < 0 &&
conditions.macd[cIndex] < conditions.macdSignal[cIndex] &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short9)
{
//
pusher++;
provider = ToString(PROVIDER_XMCD);
}
//
// XICH ...
bool short10 =
//
// Starting Conditions ...
conditions.ichConditions.HasShortConditions() &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short10)
{
//
pusher++;
provider = ToString(PROVIDER_XICH);
}
//
// XHK ...
bool short11 =
//
// Starting Conditions ...
conditions.hkConditions.isHKSwitchedToBearish &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short11)
{
//
pusher++;
provider = ToString(PROVIDER_XHK);
}
//
// XSMHK ...
bool short12 =
//
// Starting Conditions ...
conditions.hkConditions.isSMHKSwitchedToBearish &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short12)
{
//
pusher++;
provider = ToString(PROVIDER_XSMHK);
}
//
// XMRB ...
bool short13 =
//
// Starting Conditions ...
conditions.mrbConditions.isFastCrossedUnderSlow &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.sslcConditions.isBearish &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short13)
{
//
pusher++;
provider = ToString(PROVIDER_XMRB);
}
//
// XSSLC ...
bool short14 =
//
// Starting Conditions ...
conditions.sslcConditions.isSwitchedToBearish &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.hullConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short14)
{
//
pusher++;
provider = ToString(PROVIDER_XSSLC);
}
//
// XHULL ...
bool short15 =
//
// Starting Conditions ...
conditions.hullConditions.isSwitchedToBearish &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.sslcConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short15)
{
//
pusher++;
provider = ToString(PROVIDER_XHULL);
}
//
// XASCT ...
bool short16 =
//
// Starting Conditions ...
conditions.asctConditions.isShortSignal &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.hullConditions.isBearish &&
conditions.sslcConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short16)
{
//
pusher++;
provider = ToString(PROVIDER_XASCT);
}
//
// XVLM ...
bool short17 =
//
// Starting Conditions ...
conditions.vlmConditions.isVolumeChangedToBearish &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.hullConditions.isBearish &&
conditions.sslcConditions.isBearish
//
;
if (short17)
{
//
pusher++;
provider = ToString(PROVIDER_XVLM);
}
//
// XPVF ...
bool short18 =
//
// Starting Conditions ...
conditions.pvConditions.isFiboDecreased &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.hkConditions.isHKBearish &&
conditions.hkConditions.isSMHKBearish &&
conditions.mrbConditions.isFastUnderSlow &&
conditions.hullConditions.isBearish &&
conditions.sslcConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short18)
{
//
pusher++;
provider = ToString(PROVIDER_XPVF);
}
//
// XPVSAR ...
bool short19 =
//
// Starting Conditions ...
conditions.mcConditions.isSARSwitchedToBearish &&
conditions.pvConditions.peaks[zIndex] == conditions.mcConditions.psar[zIndex] &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish
//
;
if (short19)
{
//
pusher += 2;
provider = ToString(PROVIDER_XPVSAR);
}
//
// XHTSRD ...
bool short20 =
//
// Starting Conditions ...
conditions.IsTrendBearish() &&
conditions.dmntConditions.isBearish &&
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.vlmConditions.isVolumeBearish
//
;
if (short20)
{
//
pusher++;
provider = ToString(PROVIDER_XHTSRD);
}
//
result =
//
pusher >= 1 &&
// !isOSCLongVerified &&
// bearishScore > bullishScore * 2 &&
(
//
short1
//
||
//
short2
//
||
//
short3
//
||
//
short4
//
||
//
short5
//
||
//
short6
//
||
//
short7
//
||
//
short8
//
||
//
short9
//
||
//
short10
//
||
//
short11
//
||
//
short12
//
||
//
short13
//
||
//
short14
//
||
//
short15
//
||
//
short16
//
||
//
short17
//
||
//
short18
//
||
//
short19
//
||
//
short20
//
)
//
;
//
return result;
}