complete scoring and summary generating in x121 market cycle conditions class ...

This commit is contained in:
2024-06-01 03:51:48 +03:30
parent 4e4be34f1a
commit 753b99411f
4 changed files with 1182 additions and 121 deletions
+36 -116
View File
@@ -44,21 +44,6 @@
//
// Definitions ...
//
// Signallers ...
enum ENUM_X121_SIGNAL_PROVIDERS
{
//
PROVIDER_NONE,
XSP,
XTEST,
X786,
X121,
X110,
X92,
X128,
};
//
// X121 Provider Inputs ...
class X121ProviderInputs : public XSCBase
@@ -1035,8 +1020,8 @@ public:
//
// Set Signal Providers ...
void SetSignalProviderState(
ENUM_X121_SIGNAL_PROVIDERS provider, // Provider State
bool state // Which state is going to set ...
ENUM_XSIGNAL_PROVIDERS provider, // Provider State
bool state // Which state is going to set ...
)
{
//
@@ -1087,8 +1072,8 @@ public:
//
void SetSignalProviderStates(
ENUM_X121_SIGNAL_PROVIDERS &providers[], // Collection of Providers ...
bool state // Which state is going to set ...
ENUM_XSIGNAL_PROVIDERS &providers[], // Collection of Providers ...
bool state // Which state is going to set ...
)
{
//
@@ -3706,12 +3691,14 @@ private:
bool condition1 =
//
((cHasX786 &&
sHasX786)
sHasX786 &&
mHasX786)
//
||
//
(cHasX786 &&
mHasX786))
mHasX786 &&
lHasX786))
//
;
@@ -3719,12 +3706,14 @@ private:
bool condition2 =
//
((sHasX786 &&
mHasX786)
mHasX786 &&
lHasX786)
//
||
//
(sHasX786 &&
lHasX786))
lHasX786 &&
hHasX786))
//
;
@@ -3732,12 +3721,14 @@ private:
bool condition3 =
//
((mHasX786 &&
lHasX786)
lHasX786 &&
hHasX786)
//
||
//
(mHasX786 &&
hHasX786))
hHasX786 &&
sHasX786))
//
;
@@ -3745,7 +3736,8 @@ private:
bool condition4 =
//
(lHasX786 &&
hHasX786)
hHasX786 &&
mHasX786)
//
;
@@ -4232,7 +4224,7 @@ private:
//
return result;
}
//
bool X128HasSpecifiedShortSignal(
X121MarketConditions &mConditions, //
@@ -4259,12 +4251,12 @@ private:
struct X121ProviderDescriptor
{
//
string symbol; // Trading Symbol
ENUM_TIMEFRAMES period; // Trading Timeframe
double staticVolume; // Static Volume for Positions
bool allowLong; // Allow Long Signals
bool allowShort; // Allow Short Signals
ENUM_X121_SIGNAL_PROVIDERS signallers[]; // Allowed Signal Providers
string symbol; // Trading Symbol
ENUM_TIMEFRAMES period; // Trading Timeframe
double staticVolume; // Static Volume for Positions
bool allowLong; // Allow Long Signals
bool allowShort; // Allow Short Signals
ENUM_XSIGNAL_PROVIDERS signallers[]; // Allowed Signal Providers
//
X121ProviderInputs inputs;
@@ -4299,10 +4291,10 @@ struct X121ProviderDescriptor
//
bool Init(
ENUM_X121_SIGNAL_PROVIDERS &mSignallers[], // Allowed Signal Providers
bool mAllowLong = true, // Allow Long Signals
bool mAllowShort = true, // Allow Short Signals
double mStaticVolume = 0.01 // Static Volume for Positions
ENUM_XSIGNAL_PROVIDERS &mSignallers[], // Allowed Signal Providers
bool mAllowLong = true, // Allow Long Signals
bool mAllowShort = true, // Allow Short Signals
double mStaticVolume = 0.01 // Static Volume for Positions
)
{
//
@@ -4324,12 +4316,12 @@ struct X121ProviderDescriptor
//
bool Init(
string mSymbol, // Trading Symbol
ENUM_TIMEFRAMES mPeriod, // Trading Timeframe
ENUM_X121_SIGNAL_PROVIDERS &mSignallers[], // Allowed Signal Providers
bool mAllowLong = true, // Allow Long Signals
bool mAllowShort = true, // Allow Short Signals
double mStaticVolume = 0.01 // Static Volume for Positions
string mSymbol, // Trading Symbol
ENUM_TIMEFRAMES mPeriod, // Trading Timeframe
ENUM_XSIGNAL_PROVIDERS &mSignallers[], // Allowed Signal Providers
bool mAllowLong = true, // Allow Long Signals
bool mAllowShort = true, // Allow Short Signals
double mStaticVolume = 0.01 // Static Volume for Positions
)
{
//
@@ -4359,7 +4351,7 @@ struct X121ProviderDescriptor
this.staticVolume = mStaticVolume;
//
ENUM_X121_SIGNAL_PROVIDERS tmp[];
ENUM_XSIGNAL_PROVIDERS tmp[];
Copy(
mSignallers,
tmp //
@@ -4476,76 +4468,4 @@ struct X121ProviderDescriptor
}
};
//
void GetAllX121SignalProviders(ENUM_X121_SIGNAL_PROVIDERS &result[])
{
//
Clean(result);
//
Add(XSP, result);
Add(XTEST, result);
Add(X786, result);
Add(X121, result);
Add(X110, result);
Add(X92, result);
Add(X128, result);
}
//
string ToString(ENUM_X121_SIGNAL_PROVIDERS value)
{
return EnumToString(value);
}
//
ENUM_X121_SIGNAL_PROVIDERS ToX121SignalProvider(string content)
{
//
ENUM_X121_SIGNAL_PROVIDERS result = PROVIDER_NONE;
//
if (!IsValid(content))
{
return result;
}
//
if (content == ToString(PROVIDER_NONE))
{
result = PROVIDER_NONE;
}
else if (content == ToString(XSP))
{
result = XSP;
}
else if (content == ToString(XTEST))
{
result = XTEST;
}
else if (content == ToString(X786))
{
result = X786;
}
else if (content == ToString(X121))
{
result = X121;
}
else if (content == ToString(X110))
{
result = X110;
}
else if (content == ToString(X92))
{
result = X92;
}
else if (content == ToString(X128))
{
result = X128;
}
//
return result;
}
//
File diff suppressed because it is too large Load Diff