try to remove matd and put XMC instead it for controllingbehaviour ...

This commit is contained in:
2024-06-21 16:52:05 +03:30
parent fdf5442255
commit 238941960a
7 changed files with 768 additions and 126 deletions
+76 -77
View File
@@ -28,6 +28,7 @@
#include "../Classes/x-saherelm.xalert.class.mq5"
//
#include "../Helpers/x-saherelm.xmc.helper.mq5"
#include "../Helpers/x-saherelm.xpv.helper.mq5"
#include "../Helpers/x-saherelm.xtd.helper.mq5"
#include "../Helpers/x-saherelm.xhk.helper.mq5"
@@ -40,7 +41,6 @@
#include "../Helpers/x-saherelm.xasct.helper.mq5"
#include "../Helpers/x-saherelm.xsslc.helper.mq5"
#include "../Helpers/x-saherelm.xhull.helper.mq5"
#include "../Helpers/x-saherelm.xmatd.helper.mq5"
#include "../Helpers/x-saherelm.xadxtd.helper.mq5"
//
@@ -204,6 +204,7 @@ struct X121SetupInputs
//
// Helpers Inputs ...
XMCInputs mcInputs; // XMC Inputs
XPVInputs pvInputs; // XPV Inputs
XTDInputs tdInputs; // XTD Inputs
XHKInputs hkInputs; // XHK Inputs
@@ -213,7 +214,6 @@ struct X121SetupInputs
XMRBInputs mrbInputs; // XMRB Inputs
XOSCInputs oscInputs; // XOSC Inputs
XVLMInputs vlmInputs; // XVLM Inputs
XMATDInputs matdInputs; // XMATD Inputs
XASCTInputs asctInputs; // XASCT Inputs
XSSLCInputs sslcInputs; // XSSLC Inputs
XHULLInputs hullInputs; // XHULL Inputs
@@ -241,6 +241,7 @@ struct X121SetupInputs
bool Init(
string _symbol, // Symbol
ENUM_TIMEFRAMES _period, // Time Frame
XMCInputs &_mcInputs, // XMC Inputs
XPVInputs &_pvInputs, // XPV Inputs
XTDInputs &_tdInputs, // XTD Inputs
XHKInputs &_hkInputs, // XHK Inputs
@@ -250,7 +251,6 @@ struct X121SetupInputs
XMRBInputs &_mrbInputs, // XMRB Inputs
XOSCInputs &_oscInputs, // XOSC Inputs
XVLMInputs &_vlmInputs, // XVLM Inputs
XMATDInputs &_matdInputs, // XMATD Inputs
XASCTInputs &_asctInputs, // XASCT Inputs
XSSLCInputs &_sslcInputs, // XSSLC Inputs
XHULLInputs &_hullInputs, // XHULL Inputs
@@ -263,6 +263,7 @@ struct X121SetupInputs
//
// Helpers Inputs ...
this.mcInputs = _mcInputs;
this.pvInputs = _pvInputs;
this.tdInputs = _tdInputs;
this.hkInputs = _hkInputs;
@@ -272,7 +273,6 @@ struct X121SetupInputs
this.mrbInputs = _mrbInputs;
this.oscInputs = _oscInputs;
this.vlmInputs = _vlmInputs;
this.matdInputs = _matdInputs;
this.asctInputs = _asctInputs;
this.sslcInputs = _sslcInputs;
this.hullInputs = _hullInputs;
@@ -297,6 +297,7 @@ struct X121SetupInputs
period = NULL;
//
mcInputs.Clean();
pvInputs.Clean();
tdInputs.Clean();
hkInputs.Clean();
@@ -306,7 +307,6 @@ struct X121SetupInputs
mrbInputs.Clean();
oscInputs.Clean();
vlmInputs.Clean();
matdInputs.Clean();
asctInputs.Clean();
sslcInputs.Clean();
hullInputs.Clean();
@@ -318,6 +318,7 @@ struct X121SetupInputs
void Default()
{
//
mcInputs.Default();
pvInputs.Default();
tdInputs.Default();
hkInputs.Default();
@@ -327,7 +328,6 @@ struct X121SetupInputs
mrbInputs.Default();
oscInputs.Default();
vlmInputs.Default();
matdInputs.Default();
asctInputs.Default();
sslcInputs.Default();
hullInputs.Default();
@@ -417,7 +417,7 @@ struct X121SetupInputs
}
//
result = matdInputs.IsValid();
result = mcInputs.IsValid();
if (!result)
{
return result;
@@ -468,6 +468,7 @@ struct X121SetupConditions
//
// Conditions ...
XMCConditions mcConditions;
XPVConditions pvConditions;
XTDConditions tdConditions;
XHKConditions hkConditions;
@@ -476,7 +477,6 @@ struct X121SetupConditions
XSTRConditions strConditions;
XMRBConditions mrbConditions;
XVLMConditions vlmConditions;
XMATDConditions matdConditions;
XASCTConditions asctConditions;
XSSLCConditions sslcConditions;
XHULLConditions hullConditions;
@@ -508,6 +508,7 @@ struct X121SetupConditions
Clean(macdSignal);
//
mcConditions.Clean();
tdConditions.Clean();
hkConditions.Clean();
cheConditions.Clean();
@@ -515,7 +516,6 @@ struct X121SetupConditions
strConditions.Clean();
mrbConditions.Clean();
vlmConditions.Clean();
matdConditions.Clean();
asctConditions.Clean();
sslcConditions.Clean();
hullConditions.Clean();
@@ -537,7 +537,7 @@ struct X121SetupConditions
double tempBearishScore = 0;
//
matdConditions.GenerateScore(
mcConditions.GenerateScore(
tempBullishScore,
tempBearishScore //
);
@@ -681,6 +681,7 @@ struct X121SetupConditions
//
string pvSummary = pvConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string mcSummary = mcConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string tdSummary = tdConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string hkSummary = hkConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string strSummary = strConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
@@ -688,7 +689,6 @@ struct X121SetupConditions
string ichSummary = ichConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string mrbSummary = mrbConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string vlmSummary = vlmConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string matdSummary = matdConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string asctSummary = asctConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string sslcSummary = sslcConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string hullSummary = hullConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
@@ -698,6 +698,7 @@ struct X121SetupConditions
string conditionsStr =
//
pvSummary + separator +
mcSummary + separator +
tdSummary + separator +
hkSummary + separator +
ichSummary + separator +
@@ -708,7 +709,6 @@ struct X121SetupConditions
asctSummary + separator +
sslcSummary + separator +
hullSummary + separator +
matdSummary + separator +
adxtdSummary + separator +
""
//
@@ -888,10 +888,10 @@ struct X121SignalGenerator
bool long1 =
//
// Starting Conditions ...
conditions.matdConditions.isSwitchedToBullish &&
conditions.mcConditions.isSwitchedToBullish &&
//
// Verifications ...
conditions.matdConditions.isSARBullish &&
conditions.mcConditions.isSARBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -917,10 +917,10 @@ struct X121SignalGenerator
bool long2 =
//
// Starting Conditions ...
conditions.matdConditions.isSARSwitchedToBullish &&
conditions.mcConditions.isSARSwitchedToBullish &&
//
// Verifications ...
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -949,7 +949,7 @@ struct X121SignalGenerator
conditions.adxtdConditions.isStrongSwitchedToBullish &&
//
// Verifications ...
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
conditions.cheConditions.isStrongBullish &&
conditions.tdConditions.isBullish &&
@@ -976,7 +976,7 @@ struct X121SignalGenerator
conditions.strConditions.isTrendSwitchedToBullish &&
//
// Verifications ...
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.cheConditions.isStrongBullish &&
@@ -1004,7 +1004,7 @@ struct X121SignalGenerator
conditions.cheConditions.isStrongSwitchedToBullish &&
//
// Verifications ...
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1032,7 +1032,7 @@ struct X121SignalGenerator
conditions.tdConditions.isSwitchedToBullish &&
//
// Verifications ...
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1062,7 +1062,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1092,7 +1092,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1122,7 +1122,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1151,7 +1151,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1180,7 +1180,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1208,7 +1208,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1236,7 +1236,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1264,7 +1264,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1292,7 +1292,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1320,7 +1320,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1349,7 +1349,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBullish &&
conditions.matdConditions.isBullish &&
conditions.mcConditions.isBullish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBullish &&
conditions.strConditions.isTrendBullish &&
@@ -1485,10 +1485,10 @@ struct X121SignalGenerator
bool short1 =
//
// Starting Conditions ...
conditions.matdConditions.isSwitchedToBearish &&
conditions.mcConditions.isSwitchedToBearish &&
//
// Verifications ...
conditions.matdConditions.isSARBearish &&
conditions.mcConditions.isSARBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1514,10 +1514,10 @@ struct X121SignalGenerator
bool short2 =
//
// Starting Conditions ...
conditions.matdConditions.isSARSwitchedToBearish &&
conditions.mcConditions.isSARSwitchedToBearish &&
//
// Verifications ...
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1546,7 +1546,7 @@ struct X121SignalGenerator
conditions.adxtdConditions.isStrongSwitchedToBearish &&
//
// Verifications ...
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
conditions.cheConditions.isStrongBearish &&
conditions.tdConditions.isBearish &&
@@ -1573,7 +1573,7 @@ struct X121SignalGenerator
conditions.strConditions.isTrendSwitchedToBearish &&
//
// Verifications ...
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.cheConditions.isStrongBearish &&
@@ -1601,7 +1601,7 @@ struct X121SignalGenerator
conditions.cheConditions.isStrongSwitchedToBearish &&
//
// Verifications ...
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1629,7 +1629,7 @@ struct X121SignalGenerator
conditions.tdConditions.isSwitchedToBearish &&
//
// Verifications ...
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1659,7 +1659,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1689,7 +1689,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1719,7 +1719,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1748,7 +1748,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1777,7 +1777,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1805,7 +1805,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1833,7 +1833,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1861,7 +1861,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1889,7 +1889,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1917,7 +1917,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -1946,7 +1946,7 @@ struct X121SignalGenerator
//
// Verifications ...
conditions.tdConditions.isBearish &&
conditions.matdConditions.isBearish &&
conditions.mcConditions.isBearish &&
conditions.adxtdConditions.isStrong &&
conditions.adxtdConditions.isBearish &&
conditions.strConditions.isTrendBearish &&
@@ -2251,23 +2251,23 @@ struct X121SignalGenerator
// XMATD ...
bool isMATDPassed =
//
((conditions.matdConditions.isBullish ||
conditions.matdConditions.isSwitchedToBullish)
((conditions.mcConditions.isBullish ||
conditions.mcConditions.isSwitchedToBullish)
//
||
//
((conditions.matdConditions.isFastOverSlow ||
conditions.matdConditions.isFastCrossedOverSlow)
((conditions.mcConditions.isFastOverVerifier ||
conditions.mcConditions.isFastCrossedOverVerifier)
//
&&
//
(conditions.matdConditions.isMidOverSlow ||
conditions.matdConditions.isMidCrossedOverSlow)))
(conditions.mcConditions.isSlowOverVerifier ||
conditions.mcConditions.isSlowCrossedOverVerifier)))
//
||
//
(conditions.matdConditions.isSARBullish ||
conditions.matdConditions.isSARSwitchedToBullish)
(conditions.mcConditions.isSARBullish ||
conditions.mcConditions.isSARSwitchedToBullish)
//
;
if (isMATDPassed)
@@ -2507,23 +2507,23 @@ struct X121SignalGenerator
// XMATD ...
bool isMATDPassed =
//
((conditions.matdConditions.isBearish ||
conditions.matdConditions.isSwitchedToBearish)
((conditions.mcConditions.isBearish ||
conditions.mcConditions.isSwitchedToBearish)
//
||
//
((conditions.matdConditions.isFastUnderSlow ||
conditions.matdConditions.isFastCrossedUnderSlow)
((conditions.mcConditions.isFastUnderVerifier ||
conditions.mcConditions.isFastCrossedUnderVerifier)
//
&&
//
(conditions.matdConditions.isMidUnderSlow ||
conditions.matdConditions.isMidCrossedUnderSlow)))
(conditions.mcConditions.isSlowUnderVerifier ||
conditions.mcConditions.isSlowCrossedUnderVerifier)))
//
||
//
(conditions.matdConditions.isSARBearish ||
conditions.matdConditions.isSARSwitchedToBearish)
(conditions.mcConditions.isSARBearish ||
conditions.mcConditions.isSARSwitchedToBearish)
//
;
if (isMATDPassed)
@@ -3311,6 +3311,7 @@ class XSCX121Setup : public XSCBaseAlert
public:
//
// Props ...
XSCXMCHelper *mcHelper;
XSCXPVHelper *pvHelper;
XSCXTDHelper *tdHelper;
XSCXHKHelper *hkHelper;
@@ -3320,7 +3321,6 @@ public:
XSCXMRBHelper *mrbHelper;
XSCXOSCHelper *oscHelper;
XSCXVLMHelper *vlmHelper;
XSCXMATDHelper *matdHelper;
XSCXASCTHelper *asctHelper;
XSCXSSLCHelper *sslcHelper;
XSCXHULLHelper *hullHelper;
@@ -3335,6 +3335,7 @@ public:
void ~XSCX121Setup()
{
//
delete mcHelper;
delete pvHelper;
delete tdHelper;
delete hkHelper;
@@ -3344,7 +3345,6 @@ public:
delete mrbHelper;
delete oscHelper;
delete vlmHelper;
delete matdHelper;
delete asctHelper;
delete sslcHelper;
delete hullHelper;
@@ -3508,13 +3508,12 @@ public:
}
//
// XMATD ...
matdHelper = new XSCXMATDHelper(
// XMC ...
mcHelper = new XSCXMCHelper();
result = mcHelper.Init(
inputs.symbol,
inputs.period //
);
result = matdHelper.Init(
inputs.matdInputs //
inputs.period,
inputs.mcInputs //
);
if (!result)
{
@@ -3565,7 +3564,7 @@ public:
adxtdHelper = new XSCXADXTDHelper();
result = adxtdHelper.Init(
inputs.symbol,
inputs.period,
inputs.period,
inputs.adxtdInputs //
);
if (!result)
@@ -3687,8 +3686,8 @@ public:
}
//
result = matdHelper.GetConditions(
conditions.matdConditions,
result = mcHelper.GetConditions(
conditions.mcConditions,
barIndex,
loopback //
);