add hull and sslc into x121 market ...

This commit is contained in:
2024-06-04 19:41:18 +03:30
parent 0b3587431f
commit ae4c98c601
7 changed files with 245 additions and 52 deletions
+145 -11
View File
@@ -38,6 +38,8 @@
#include "../Helpers/x-saherelm.xosc.helper.mq5"
#include "../Helpers/x-saherelm.xstr.helper.mq5"
#include "../Helpers/x-saherelm.xich.helper.mq5"
#include "../Helpers/x-saherelm.xhull.helper.mq5"
#include "../Helpers/x-saherelm.xsslc.helper.mq5"
//
#include "../Libraries/x-saherelm.xtrade.lib.mq5"
@@ -165,17 +167,19 @@ public:
bool drawPBarMid; // Draw Previous Bar Mid Line
//
XHKInputs hkInputs; // HK Inputs ...
XMCInputs mcInputs; // MC Inputs ...
XPVInputs pvInputs; // PV Inputs ...
XZGInputs zgInputs; // ZG Inputs ...
XTDInputs tdInputs; // TD Inputs ...
XMRBInputs mrbInputs; // MRB Inputs ...
XSTRInputs strInputs; // STR Inputs ...
XOSCInputs oscInputs; // OSC Inputs ...
XCHEInputs cheInputs; // CHE Inputs ...
XICHInputs ichInputs; // ICH Inputs ...
XDONInputs donInputs; // DON Inputs ...
XHKInputs hkInputs; // HK Inputs ...
XMCInputs mcInputs; // MC Inputs ...
XPVInputs pvInputs; // PV Inputs ...
XZGInputs zgInputs; // ZG Inputs ...
XTDInputs tdInputs; // TD Inputs ...
XMRBInputs mrbInputs; // MRB Inputs ...
XSTRInputs strInputs; // STR Inputs ...
XOSCInputs oscInputs; // OSC Inputs ...
XCHEInputs cheInputs; // CHE Inputs ...
XICHInputs ichInputs; // ICH Inputs ...
XDONInputs donInputs; // DON Inputs ...
XHULLInputs hullInputs; // HULL Inputs ...
XSSLCInputs sslcInputs; // SSLC Inputs ...
//
// Constructor ...
@@ -230,6 +234,8 @@ public:
cheInputs.Default();
ichInputs.Default();
donInputs.Default();
hullInputs.Default();
sslcInputs.Default();
}
//
@@ -260,6 +266,8 @@ public:
XCHEInputs &mCheInputs, // CHE Inputs
XICHInputs &mIchInputs, // ICH Inputs ...
XDONInputs &mDonInputs, // DON Inputs ...
XHULLInputs &mHullInputs, // HULL Inputs ...
XSSLCInputs &mSslcInputs, // SSLC Inputs ...
int mHostBarIndex = 0, // Specified Host Period Bar Index
string mPrefix = "" // Prefix
)
@@ -293,6 +301,8 @@ public:
cheInputs = mCheInputs;
ichInputs = mIchInputs;
donInputs = mDonInputs;
hullInputs = mHullInputs;
sslcInputs = mSslcInputs;
//
result = IsValid();
@@ -324,6 +334,8 @@ public:
cheInputs.Clean();
ichInputs.Clean();
donInputs.Clean();
hullInputs.Clean();
sslcInputs.Clean();
//
cBarDrawSpecs.Clean();
@@ -355,6 +367,8 @@ public:
cheInputs.Default();
ichInputs.Default();
donInputs.Default();
hullInputs.Default();
sslcInputs.Default();
//
drawLabels = false;
@@ -455,6 +469,20 @@ public:
return result;
}
//
result = hullInputs.IsValid();
if (!result)
{
return result;
}
//
result = sslcInputs.IsValid();
if (!result)
{
return result;
}
//
return result;
}
@@ -481,6 +509,8 @@ public:
result = MathMax(result, cheInputs.Max());
result = MathMax(result, ichInputs.Max());
result = MathMax(result, donInputs.Max());
result = MathMax(result, hullInputs.Max());
result = MathMax(result, sslcInputs.Max());
//
return result;
@@ -554,6 +584,16 @@ public:
double zigzags[];
double zigzagPVs[];
//
// XHULL ...
double hullUps[];
double hullDowns[];
//
// XSSLC ...
double sslcUps[];
double sslcDowns[];
//
// XMRB ...
@@ -645,6 +685,12 @@ public:
bool isZigZagInPeak;
bool isZigZagInVale;
//
// XHULL ...
//
// XSSLC ...
//
// XPV ...
@@ -986,6 +1032,10 @@ public:
Clean(tdBullishs);
Clean(tdBearishs);
Clean(tdSignals);
Clean(hullUps);
Clean(hullDowns);
Clean(sslcUps);
Clean(sslcDowns);
//
// Buffers ...
@@ -1067,12 +1117,22 @@ public:
ArraySetAsSeries(tdBullishs, true);
ArraySetAsSeries(tdBearishs, true);
ArraySetAsSeries(tdSignals, true);
ArraySetAsSeries(hullUps, true);
ArraySetAsSeries(hullDowns, true);
ArraySetAsSeries(sslcUps, true);
ArraySetAsSeries(sslcDowns, true);
//
// XZG ...
isZigZagInPeak = false;
isZigZagInVale = false;
//
// XHULL ...
//
// XSSLC ...
//
// XPV ...
@@ -1358,6 +1418,12 @@ public:
bearScore++;
}
//
// XHULL ...
//
// XSSLC ...
//
// XPV ...
@@ -2633,6 +2699,8 @@ public:
XSCXOSCHelper osc;
XSCXICHHelper ich;
XSCXDONHelper don;
XSCXHULLHelper hull;
XSCXSSLCHelper sslc;
//
// Properties ...
@@ -2794,6 +2862,40 @@ public:
//
// Filling Buffers ...
//
// XHULL ...
//
hull.CopyUp(
start,
count,
conditions.hullUps //
);
//
hull.CopyDown(
start,
count,
conditions.hullDowns //
);
//
// XSSLC ...
//
sslc.CopyUp(
start,
count,
conditions.sslcUps //
);
//
sslc.CopyDown(
start,
count,
conditions.sslcDowns //
);
//
// XHK ...
@@ -3512,6 +3614,12 @@ public:
bool isSMHKSwitchedToBullish = cSMHKBar.IsBullish() && !pSMHKBar.IsBullish();
bool isSMHKSwitchedToBearish = cSMHKBar.IsBearish() && !pSMHKBar.IsBearish();
//
// XHULL ...
//
// XSSLC ...
//
// XICH ...
@@ -4355,6 +4463,32 @@ public:
//
// Init Helpers ...
//
// XHULL ...
result = hull.Init(
symbol,
period,
mInputs.hullInputs
//
);
if (!result)
{
return result;
}
//
// XSSLC ...
result = sslc.Init(
symbol,
period,
mInputs.sslcInputs
//
);
if (!result)
{
return result;
}
//
// XHK ...
result = hk.Init(