last works on xchma ...

This commit is contained in:
2024-07-02 16:42:17 +03:30
parent 84d61a513e
commit 050b400412
3 changed files with 5255 additions and 36 deletions
+94 -36
View File
@@ -41,6 +41,7 @@
#include "../Helpers/x-saherelm.xosc.helper.mq5"
#include "../Helpers/x-saherelm.xvlm.helper.mq5"
#include "../Helpers/x-saherelm.xhtd.helper.mq5"
#include "../Helpers/x-saherelm.xchma.helper.mq5"
#include "../Helpers/x-saherelm.xatsl.helper.mq5"
#include "../Helpers/x-saherelm.xdmnt.helper.mq5"
#include "../Helpers/x-saherelm.xasct.helper.mq5"
@@ -244,6 +245,7 @@ struct X121SetupInputs
XOSCInputs oscInputs; // XOSC Inputs
XVLMInputs vlmInputs; // XVLM Inputs
XSLNInputs slnInputs; // XSLN Inputs
XCHMAInputs chmaInputs; // XCHMA Inputs
XATSLInputs atslInputs; // XATSL Inputs
XDMNTInputs dmntInputs; // XDMNT Inputs
XASCTInputs asctInputs; // XASCT Inputs
@@ -286,6 +288,7 @@ struct X121SetupInputs
XOSCInputs &_oscInputs, // XOSC Inputs
XVLMInputs &_vlmInputs, // XVLM Inputs
XSLNInputs &_slnInputs, // XSLN Inputs
XCHMAInputs &_chmaInputs, // XCHMA Inputs
XATSLInputs &_atslInputs, // XATSL Inputs
XDMNTInputs &_dmntInputs, // XDMNT Inputs
XASCTInputs &_asctInputs, // XASCT Inputs
@@ -311,6 +314,7 @@ struct X121SetupInputs
this.mrbInputs = _mrbInputs;
this.oscInputs = _oscInputs;
this.vlmInputs = _vlmInputs;
this.chmaInputs = _chmaInputs;
this.atslInputs = _atslInputs;
this.dmntInputs = _dmntInputs;
this.asctInputs = _asctInputs;
@@ -350,10 +354,11 @@ struct X121SetupInputs
vlmInputs.Clean();
slnInputs.Clean();
htdInputs.Clean();
chmaInputs.Clean();
atslInputs.Clean();
asctInputs.Clean();
sslcInputs.Clean();
hullInputs.Clean();
atslInputs.Clean();
dmntInputs.Clean();
adxtdInputs.Clean();
}
@@ -376,10 +381,11 @@ struct X121SetupInputs
vlmInputs.Default();
slnInputs.Default();
htdInputs.Default();
chmaInputs.Default();
atslInputs.Default();
asctInputs.Default();
sslcInputs.Default();
hullInputs.Default();
atslInputs.Default();
dmntInputs.Default();
adxtdInputs.Default();
}
@@ -522,6 +528,13 @@ struct X121SetupInputs
return result;
}
//
result = chmaInputs.IsValid();
if (!result)
{
return result;
}
//
result = atslInputs.IsValid();
if (!result)
@@ -565,6 +578,7 @@ struct X121SetupConditions
XVLMConditions vlmConditions;
XHTDConditions htdConditions;
XSLNConditions slnConditions;
XCHMAConditions chmaConditions;
XATSLConditions atslConditions;
XASCTConditions asctConditions;
XSSLCConditions sslcConditions;
@@ -609,6 +623,7 @@ struct X121SetupConditions
vlmConditions.Clean();
slnConditions.Clean();
htdConditions.Clean();
chmaConditions.Clean();
atslConditions.Clean();
asctConditions.Clean();
sslcConditions.Clean();
@@ -767,6 +782,14 @@ struct X121SetupConditions
bullishScore += tempBullishScore;
bearishScore += tempBearishScore;
//
chmaConditions.GenerateScore(
tempBullishScore,
tempBearishScore //
);
bullishScore += tempBullishScore;
bearishScore += tempBearishScore;
//
dmntConditions.GenerateScore(
tempBullishScore,
@@ -829,7 +852,8 @@ struct X121SetupConditions
string vlmSummary = vlmConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string slnSummary = slnConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string htdSummary = htdConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string atsSummary = atslConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string chmaSummary = chmaConditions.GenerateSummary(false, true, false, ignoreFalseConditions);
string atslSummary = atslConditions.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);
@@ -855,8 +879,9 @@ struct X121SetupConditions
hullSummary + separator +
adxtdSummary + separator +
htdSummary + separator +
atsSummary + separator +
atslSummary + separator +
dmntSummary + separator +
chmaSummary + separator +
""
//
;
@@ -3583,15 +3608,6 @@ struct X121SignalGenerator
conditions.pvConditions.isCloseUnderFib4 &&
conditions.pvConditions.isCloseUnderFib5
//
) //
&&
//
(
//
// XVLM ...
conditions.vlmConditions.isVolumeBearish &&
conditions.vlmConditions.isVolumeOverLast
//
)
//
&&
@@ -3600,27 +3616,54 @@ struct X121SignalGenerator
//
(
//
conditions.pvConditions.isSCBearish &&
conditions.pvConditions.isSCHHBearish &&
conditions.pvConditions.isSCLLBearish &&
conditions.pvConditions.isMCBearish &&
conditions.pvConditions.isMCHHBearish &&
conditions.pvConditions.isMCLLBearish &&
conditions.pvConditions.isLCBearish &&
conditions.pvConditions.isLCHHBearish &&
conditions.pvConditions.isLCLLBearish &&
conditions.pvConditions.isHCBearish &&
conditions.pvConditions.isHCHHBearish &&
conditions.pvConditions.isHCLLBearish &&
(
//
// XVLM ...
conditions.vlmConditions.isVolumeBearish &&
conditions.vlmConditions.isVolumeOverLast
//
)
//
// XICH ...
conditions.ichConditions.isClosedUnderKijunSen &&
conditions.ichConditions.isTenkanSenUnderKijunSen &&
conditions.ichConditions.isSenkouSpanAUnderB &&
conditions.ichConditions.isSenkouSpanAUnderLast &&
conditions.ichConditions.isFutureSenkouSpanAUnderB &&
conditions.ichConditions.isFutureSenkouSpanAUnderLast &&
conditions.ichConditions.isSenkouSpanACrossedUnderLast
&&
//
(
//
(
//
conditions.pvConditions.isSCBearish &&
conditions.pvConditions.isSCHHBearish &&
conditions.pvConditions.isSCLLBearish &&
conditions.pvConditions.isMCBearish &&
conditions.pvConditions.isMCHHBearish &&
conditions.pvConditions.isMCLLBearish &&
conditions.pvConditions.isLCBearish &&
conditions.pvConditions.isLCHHBearish &&
conditions.pvConditions.isLCLLBearish &&
conditions.pvConditions.isHCBearish &&
conditions.pvConditions.isHCHHBearish &&
conditions.pvConditions.isHCLLBearish &&
//
// XICH ...
conditions.ichConditions.isClosedUnderKijunSen &&
conditions.ichConditions.isTenkanSenUnderKijunSen &&
conditions.ichConditions.isSenkouSpanAUnderB &&
conditions.ichConditions.isSenkouSpanAUnderLast &&
conditions.ichConditions.isFutureSenkouSpanAUnderB &&
conditions.ichConditions.isFutureSenkouSpanAUnderLast &&
conditions.ichConditions.isSenkouSpanACrossedUnderLast
//
)
//
||
//
(
//
// XICH ...
conditions.ichConditions.isSenkouSpanACrossedUnderB
//
)
//
)
//
)
//
@@ -3628,8 +3671,11 @@ struct X121SignalGenerator
//
(
//
// XICH ...
conditions.ichConditions.isSenkouSpanACrossedUnderB
// XRL ...
conditions.rlConditions.isFastBearish &&
conditions.rlConditions.isSlowBearish &&
conditions.rlConditions.isFastOverSlow &&
conditions.rlConditions.isVerifierBearish
//
)
//
@@ -4045,10 +4091,11 @@ public:
XSCXVLMHelper *vlmHelper;
XSCXSLNHelper *slnHelper;
XSCXHTDHelper *hdtHelper;
XSCXCHMAHelper *chmaHelper;
XSCXATSLHelper *atslHelper;
XSCXASCTHelper *asctHelper;
XSCXSSLCHelper *sslcHelper;
XSCXHULLHelper *hullHelper;
XSCXATSLHelper *atslHelper;
XSCXDMNTHelper *dmntHelper;
XSCXADXTDHelper *adxtdHelper;
@@ -4436,6 +4483,17 @@ public:
return result;
}
//
result = chmaHelper.GetConditions(
conditions.chmaConditions,
barIndex,
loopback //
);
if (!result)
{
return result;
}
//
result = atslHelper.GetConditions(
conditions.atslConditions,
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff