last ... Om EURUSD ...

This commit is contained in:
2024-05-27 21:45:45 +03:30
parent 54160e7f99
commit 030e8e3c72
76 changed files with 1427 additions and 161210 deletions
+709 -4
View File
@@ -102,6 +102,7 @@ public:
XPVInputs pvInputs;
XHKInputs hkInputs;
XMCInputs mcInputs;
XMRBInputs mrbInputs;
XICHInputs ichInputs;
XCHEInputs cheInputs;
XSTRInputs strInputs;
@@ -159,6 +160,10 @@ public:
{
hkInputs.Default();
}
if (!mrbInputs.IsValid())
{
mrbInputs.Default();
}
if (!cheInputs.IsValid())
{
cheInputs.Default();
@@ -189,6 +194,7 @@ public:
cMarketInputs.zgInputs = this.zgInputs;
cMarketInputs.mcInputs = this.mcInputs;
cMarketInputs.hkInputs = this.hkInputs;
cMarketInputs.mrbInputs = this.mrbInputs;
cMarketInputs.strInputs = this.strInputs;
cMarketInputs.oscInputs = this.oscInputs;
cMarketInputs.cheInputs = this.cheInputs;
@@ -214,6 +220,7 @@ public:
sMarketInputs.zgInputs = this.zgInputs;
sMarketInputs.mcInputs = this.mcInputs;
sMarketInputs.hkInputs = this.hkInputs;
sMarketInputs.mrbInputs = this.mrbInputs;
sMarketInputs.strInputs = this.strInputs;
sMarketInputs.oscInputs = this.oscInputs;
sMarketInputs.cheInputs = this.cheInputs;
@@ -239,6 +246,7 @@ public:
mMarketInputs.zgInputs = this.zgInputs;
mMarketInputs.mcInputs = this.mcInputs;
mMarketInputs.hkInputs = this.hkInputs;
mMarketInputs.mrbInputs = this.mrbInputs;
mMarketInputs.strInputs = this.strInputs;
mMarketInputs.oscInputs = this.oscInputs;
mMarketInputs.cheInputs = this.cheInputs;
@@ -264,6 +272,7 @@ public:
lMarketInputs.zgInputs = this.zgInputs;
lMarketInputs.mcInputs = this.mcInputs;
lMarketInputs.hkInputs = this.hkInputs;
lMarketInputs.mrbInputs = this.mrbInputs;
lMarketInputs.strInputs = this.strInputs;
lMarketInputs.oscInputs = this.oscInputs;
lMarketInputs.cheInputs = this.cheInputs;
@@ -289,6 +298,7 @@ public:
hMarketInputs.zgInputs = this.zgInputs;
hMarketInputs.mcInputs = this.mcInputs;
hMarketInputs.hkInputs = this.hkInputs;
hMarketInputs.mrbInputs = this.mrbInputs;
hMarketInputs.strInputs = this.strInputs;
hMarketInputs.oscInputs = this.oscInputs;
hMarketInputs.cheInputs = this.cheInputs;
@@ -339,6 +349,7 @@ public:
pvInputs.IsValid() &&
mcInputs.IsValid() &&
hkInputs.IsValid() &&
mrbInputs.IsValid() &&
cheInputs.IsValid() &&
strInputs.IsValid() &&
donInputs.IsValid() &&
@@ -392,6 +403,7 @@ public:
pvInputs.Clean();
mcInputs.Clean();
hkInputs.Clean();
mrbInputs.Clean();
cheInputs.Clean();
strInputs.Clean();
donInputs.Clean();
@@ -440,6 +452,7 @@ public:
pvInputs.Default();
mcInputs.Default();
hkInputs.Default();
mrbInputs.Default();
cheInputs.Default();
strInputs.Default();
donInputs.Default();
@@ -1210,7 +1223,7 @@ public:
ENUM_TIMEFRAMES period = GetPeriod();
double tpPoint = 60;
double slPoint = 30;
double volume = 0.01;
double volume = GetStaticVolume() * signalPusher;
double tpPrice = PointToPrice(
tpPoint,
symbol //
@@ -1523,7 +1536,7 @@ public:
mSupportResistances,
count,
step //
);
);
//
return result;
@@ -4220,7 +4233,7 @@ private:
}
//
// Use XICH ...
// Use XMRB ...
bool X128HasSpecifiedLongSignal(
X121MarketConditions &mConditions, //
double &sl, // Provided SL ...
@@ -4231,6 +4244,352 @@ private:
//
bool result = false;
//
// Current Cycle ...
//
bool isCMRBFastOverSlow =
//
mConditions.cMarketConditions.mrbFasts[1] > mConditions.cMarketConditions.mrbSlows[1]
//
;
//
bool isCMRBFastCrossedOverSlow =
//
mConditions.cMarketConditions.mrbFasts[1] > mConditions.cMarketConditions.mrbSlows[1] &&
mConditions.cMarketConditions.mrbFasts[2] <= mConditions.cMarketConditions.mrbSlows[2]
//
;
//
bool isCMRBClosedOverFast =
//
mConditions.cMarketConditions.bars[1].close > mConditions.cMarketConditions.mrbFasts[1]
//
;
//
// Short Cycle ...
//
bool isSMRBFastOverSlow =
//
mConditions.sMarketConditions.mrbFasts[1] > mConditions.sMarketConditions.mrbSlows[1]
//
;
//
bool isSMRBFastCrossedOverSlow =
//
mConditions.sMarketConditions.mrbFasts[1] > mConditions.sMarketConditions.mrbSlows[1] &&
mConditions.sMarketConditions.mrbFasts[2] <= mConditions.sMarketConditions.mrbSlows[2]
//
;
//
bool isSMRBClosedOverFast =
//
mConditions.sMarketConditions.bars[1].close > mConditions.sMarketConditions.mrbFasts[1]
//
;
//
// Medium Cycle ...
//
bool isMMRBFastOverSlow =
//
mConditions.mMarketConditions.mrbFasts[1] > mConditions.mMarketConditions.mrbSlows[1]
//
;
//
bool isMMRBFastCrossedOverSlow =
//
mConditions.mMarketConditions.mrbFasts[1] > mConditions.mMarketConditions.mrbSlows[1] &&
mConditions.mMarketConditions.mrbFasts[2] <= mConditions.mMarketConditions.mrbSlows[2]
//
;
//
bool isMMRBClosedOverFast =
//
mConditions.mMarketConditions.bars[1].close > mConditions.mMarketConditions.mrbFasts[1]
//
;
//
// Long Cycle ...
//
bool isLMRBFastOverSlow =
//
mConditions.lMarketConditions.mrbFasts[1] > mConditions.lMarketConditions.mrbSlows[1]
//
;
//
bool isLMRBFastCrossedOverSlow =
//
mConditions.lMarketConditions.mrbFasts[1] > mConditions.lMarketConditions.mrbSlows[1] &&
mConditions.lMarketConditions.mrbFasts[2] <= mConditions.lMarketConditions.mrbSlows[2]
//
;
//
bool isLMRBClosedOverFast =
//
mConditions.lMarketConditions.bars[1].close > mConditions.lMarketConditions.mrbFasts[1]
//
;
//
// Hind Cycle ...
//
bool isHMRBFastOverSlow =
//
mConditions.hMarketConditions.mrbFasts[1] > mConditions.hMarketConditions.mrbSlows[1]
//
;
//
bool isHMRBFastCrossedOverSlow =
//
mConditions.hMarketConditions.mrbFasts[1] > mConditions.hMarketConditions.mrbSlows[1] &&
mConditions.hMarketConditions.mrbFasts[2] <= mConditions.hMarketConditions.mrbSlows[2]
//
;
//
bool isHMRBClosedOverFast =
//
mConditions.hMarketConditions.bars[1].close > mConditions.hMarketConditions.mrbFasts[1]
//
;
//
bool isMRBLongWeight =
//
(
//
isCMRBFastOverSlow &&
isSMRBFastOverSlow &&
isMMRBFastOverSlow &&
isLMRBFastOverSlow &&
isHMRBFastOverSlow
//
)
//
||
//
(
//
isCMRBFastOverSlow &&
((
isSMRBFastOverSlow &&
isMMRBFastOverSlow &&
isLMRBFastOverSlow)
//
||
//
(
isSMRBFastOverSlow &&
isLMRBFastOverSlow &&
isHMRBFastOverSlow)
//
||
//
(
isMMRBFastOverSlow &&
isLMRBFastOverSlow &&
isHMRBFastOverSlow))
//
)
//
;
//
bool isMBRCloseLong =
//
(
//
isCMRBClosedOverFast &&
isSMRBClosedOverFast &&
isMMRBClosedOverFast &&
isLMRBClosedOverFast &&
isHMRBClosedOverFast
//
)
//
||
//
(
//
isCMRBClosedOverFast &&
((
isSMRBClosedOverFast &&
isMMRBClosedOverFast)
//
||
//
(
isSMRBClosedOverFast &&
isLMRBClosedOverFast)
//
||
//
(
isSMRBClosedOverFast &&
isHMRBClosedOverFast)
//
||
//
(
isMMRBClosedOverFast &&
isLMRBClosedOverFast)
//
||
//
(
isLMRBClosedOverFast &&
isHMRBClosedOverFast)
//
||
//
(
isMMRBClosedOverFast &&
isHMRBClosedOverFast)
//
||
//
(
isSMRBClosedOverFast &&
isMMRBClosedOverFast &&
isLMRBClosedOverFast)
//
||
//
(
isSMRBClosedOverFast &&
isLMRBClosedOverFast &&
isHMRBClosedOverFast)
//
||
//
(
isMMRBClosedOverFast &&
isLMRBClosedOverFast &&
isHMRBClosedOverFast))
//
)
//
;
//
bool isCMRBShort =
//
(isCMRBFastOverSlow ||
isCMRBFastCrossedOverSlow)
//
&&
//
isCMRBClosedOverFast &&
//
isMRBLongWeight &&
//
isMBRCloseLong
//
;
//
bool isSMRBShort =
//
(isSMRBFastOverSlow ||
isSMRBFastCrossedOverSlow)
//
&&
//
isSMRBClosedOverFast &&
//
isMRBLongWeight &&
//
isMBRCloseLong
//
;
//
bool isMMRBShort =
//
(isMMRBFastOverSlow ||
isMMRBFastCrossedOverSlow)
//
&&
//
isMMRBClosedOverFast &&
//
isMRBLongWeight &&
//
isMBRCloseLong
//
;
//
bool isLMRBShort =
//
(isLMRBFastOverSlow ||
isLMRBFastCrossedOverSlow)
//
&&
//
isLMRBClosedOverFast &&
//
isMRBLongWeight &&
//
isMBRCloseLong
//
;
//
bool isHMRBShort =
//
(isHMRBFastOverSlow ||
isHMRBFastCrossedOverSlow)
//
&&
//
isHMRBClosedOverFast &&
//
isMRBLongWeight &&
//
isMBRCloseLong
//
;
//
result =
//
isCMRBShort
//
||
//
isSMRBShort
//
||
//
isMMRBShort
//
||
//
isLMRBShort
//
||
//
isHMRBShort
//
;
//
return result;
}
@@ -4836,7 +5195,7 @@ private:
}
//
// Use XICH ...
// Use XMRB ...
bool X128HasSpecifiedShortSignal(
X121MarketConditions &mConditions, //
double &sl, // Provided SL ...
@@ -4847,6 +5206,352 @@ private:
//
bool result = false;
//
// Current Cycle ...
//
bool isCMRBFastUnderSlow =
//
mConditions.cMarketConditions.mrbFasts[1] < mConditions.cMarketConditions.mrbSlows[1]
//
;
//
bool isCMRBFastCrossedUnderSlow =
//
mConditions.cMarketConditions.mrbFasts[1] < mConditions.cMarketConditions.mrbSlows[1] &&
mConditions.cMarketConditions.mrbFasts[2] >= mConditions.cMarketConditions.mrbSlows[2]
//
;
//
bool isCMRBClosedUnderFast =
//
mConditions.cMarketConditions.bars[1].close < mConditions.cMarketConditions.mrbFasts[1]
//
;
//
// Short Cycle ...
//
bool isSMRBFastUnderSlow =
//
mConditions.sMarketConditions.mrbFasts[1] < mConditions.sMarketConditions.mrbSlows[1]
//
;
//
bool isSMRBFastCrossedUnderSlow =
//
mConditions.sMarketConditions.mrbFasts[1] < mConditions.sMarketConditions.mrbSlows[1] &&
mConditions.sMarketConditions.mrbFasts[2] >= mConditions.sMarketConditions.mrbSlows[2]
//
;
//
bool isSMRBClosedUnderFast =
//
mConditions.sMarketConditions.bars[1].close < mConditions.sMarketConditions.mrbFasts[1]
//
;
//
// Medium Cycle ...
//
bool isMMRBFastUnderSlow =
//
mConditions.mMarketConditions.mrbFasts[1] < mConditions.mMarketConditions.mrbSlows[1]
//
;
//
bool isMMRBFastCrossedUnderSlow =
//
mConditions.mMarketConditions.mrbFasts[1] < mConditions.mMarketConditions.mrbSlows[1] &&
mConditions.mMarketConditions.mrbFasts[2] >= mConditions.mMarketConditions.mrbSlows[2]
//
;
//
bool isMMRBClosedUnderFast =
//
mConditions.mMarketConditions.bars[1].close < mConditions.mMarketConditions.mrbFasts[1]
//
;
//
// Long Cycle ...
//
bool isLMRBFastUnderSlow =
//
mConditions.lMarketConditions.mrbFasts[1] < mConditions.lMarketConditions.mrbSlows[1]
//
;
//
bool isLMRBFastCrossedUnderSlow =
//
mConditions.lMarketConditions.mrbFasts[1] < mConditions.lMarketConditions.mrbSlows[1] &&
mConditions.lMarketConditions.mrbFasts[2] >= mConditions.lMarketConditions.mrbSlows[2]
//
;
//
bool isLMRBClosedUnderFast =
//
mConditions.lMarketConditions.bars[1].close < mConditions.lMarketConditions.mrbFasts[1]
//
;
//
// Hind Cycle ...
//
bool isHMRBFastUnderSlow =
//
mConditions.hMarketConditions.mrbFasts[1] < mConditions.hMarketConditions.mrbSlows[1]
//
;
//
bool isHMRBFastCrossedUnderSlow =
//
mConditions.hMarketConditions.mrbFasts[1] < mConditions.hMarketConditions.mrbSlows[1] &&
mConditions.hMarketConditions.mrbFasts[2] >= mConditions.hMarketConditions.mrbSlows[2]
//
;
//
bool isHMRBClosedUnderFast =
//
mConditions.hMarketConditions.bars[1].close < mConditions.hMarketConditions.mrbFasts[1]
//
;
//
bool isMRBShortWeight =
//
(
//
isCMRBFastUnderSlow &&
isSMRBFastUnderSlow &&
isMMRBFastUnderSlow &&
isLMRBFastUnderSlow &&
isHMRBFastUnderSlow
//
)
//
||
//
(
//
isCMRBFastUnderSlow &&
((
isSMRBFastUnderSlow &&
isMMRBFastUnderSlow &&
isLMRBFastUnderSlow)
//
||
//
(
isSMRBFastUnderSlow &&
isLMRBFastUnderSlow &&
isHMRBFastUnderSlow)
//
||
//
(
isMMRBFastUnderSlow &&
isLMRBFastUnderSlow &&
isHMRBFastUnderSlow))
//
)
//
;
//
bool isMBRCloseShort =
//
(
//
isCMRBClosedUnderFast &&
isSMRBClosedUnderFast &&
isMMRBClosedUnderFast &&
isLMRBClosedUnderFast &&
isHMRBClosedUnderFast
//
)
//
||
//
(
//
isCMRBClosedUnderFast &&
((
isSMRBClosedUnderFast &&
isMMRBClosedUnderFast)
//
||
//
(
isSMRBClosedUnderFast &&
isLMRBClosedUnderFast)
//
||
//
(
isSMRBClosedUnderFast &&
isHMRBClosedUnderFast)
//
||
//
(
isMMRBClosedUnderFast &&
isLMRBClosedUnderFast)
//
||
//
(
isLMRBClosedUnderFast &&
isHMRBClosedUnderFast)
//
||
//
(
isMMRBClosedUnderFast &&
isHMRBClosedUnderFast)
//
||
//
(
isSMRBClosedUnderFast &&
isMMRBClosedUnderFast &&
isLMRBClosedUnderFast)
//
||
//
(
isSMRBClosedUnderFast &&
isLMRBClosedUnderFast &&
isHMRBClosedUnderFast)
//
||
//
(
isMMRBClosedUnderFast &&
isLMRBClosedUnderFast &&
isHMRBClosedUnderFast))
//
)
//
;
//
bool isCMRBShort =
//
(isCMRBFastUnderSlow ||
isCMRBFastCrossedUnderSlow)
//
&&
//
isCMRBClosedUnderFast &&
//
isMRBShortWeight &&
//
isMBRCloseShort
//
;
//
bool isSMRBShort =
//
(isSMRBFastUnderSlow ||
isSMRBFastCrossedUnderSlow)
//
&&
//
isSMRBClosedUnderFast &&
//
isMRBShortWeight &&
//
isMBRCloseShort
//
;
//
bool isMMRBShort =
//
(isMMRBFastUnderSlow ||
isMMRBFastCrossedUnderSlow)
//
&&
//
isMMRBClosedUnderFast &&
//
isMRBShortWeight &&
//
isMBRCloseShort
//
;
//
bool isLMRBShort =
//
(isLMRBFastUnderSlow ||
isLMRBFastCrossedUnderSlow)
//
&&
//
isLMRBClosedUnderFast &&
//
isMRBShortWeight &&
//
isMBRCloseShort
//
;
//
bool isHMRBShort =
//
(isHMRBFastUnderSlow ||
isHMRBFastCrossedUnderSlow)
//
&&
//
isHMRBClosedUnderFast &&
//
isMRBShortWeight &&
//
isMBRCloseShort
//
;
//
result =
//
isCMRBShort
//
||
//
isSMRBShort
//
||
//
isMMRBShort
//
||
//
isLMRBShort
//
||
//
isHMRBShort
//
;
//
return result;
}