last works ...

This commit is contained in:
2024-11-24 13:48:12 +03:30
parent 0e2e474d46
commit 042fa88d3a
6 changed files with 701 additions and 203 deletions
+134
View File
@@ -35,6 +35,23 @@
const string X121SMCStrategyToken = "X121SMC";
const string X121SMCPVToken = "X121SMCPV";
const string X121SMCBOSToken = "X121SMCBOS";
const string X121SMCSARToken = "X121SMCSAR";
const string X121SMCCHOCHToken = "X121SMCCHOCH";
const string X121SMCPULLBKToken = "X121SMCPULLBK";
enum ENUM_X_121_SMC_PROVIDERS
{
//
X_121_SMC_PROVIDER_NONE,
X_121_SMC_PROVIDER_PV,
X_121_SMC_PROVIDER_BOS,
X_121_SMC_PROVIDER_SAR,
X_121_SMC_PROVIDER_CHOCH,
X_121_SMC_PROVIDER_PULLBK,
};
enum ENUM_XPV_PIVOTS
{
XPV_NONE,
@@ -1661,4 +1678,121 @@ void DetectPivotPOIs(
}
}
//
// Provider Extensions ...
/**
* Validate a Signal Provider ...
*
* @param value: ENUM_X_121_SMC_PROVIDERS member ...
*
* @return ( bool )
*/
bool IsValid(ENUM_X_121_SMC_PROVIDERS value)
{
//
bool result = false;
//
result = value != X_121_SMC_PROVIDER_NONE;
//
return result;
}
/**
* Converts a Signal Provider to String ...
*
* @param value: ENUM_X_121_SMC_PROVIDERS member ...
*
* @return ( string )
*/
string ToString(ENUM_X_121_SMC_PROVIDERS value)
{
//
string result = NULL;
//
if (!IsValid(value))
{
return result;
}
//
switch (value)
{
//
case X_121_SMC_PROVIDER_PV:
result = X121SMCPVToken;
break;
//
case X_121_SMC_PROVIDER_BOS:
result = X121SMCBOSToken;
break;
//
case X_121_SMC_PROVIDER_SAR:
result = X121SMCSARToken;
break;
//
case X_121_SMC_PROVIDER_CHOCH:
result = X121SMCCHOCHToken;
break;
//
case X_121_SMC_PROVIDER_PULLBK:
result = X121SMCPULLBKToken;
break;
}
//
return result;
}
/**
* Parse Specified String as a Signal Provider ...
*
* @param value: String ...
*
* @return ( ENUM_X_121_SMC_PROVIDERS )
*/
ENUM_X_121_SMC_PROVIDERS ParseProvider(string value)
{
//
ENUM_X_121_SMC_PROVIDERS result = X_121_SMC_PROVIDER_NONE;
//
if (!IsValid(value))
{
return result;
}
//
if (Contains(X121SMCPVToken, value))
{
result = X_121_SMC_PROVIDER_PV;
}
else if (Contains(X121SMCBOSToken, value))
{
result = X_121_SMC_PROVIDER_BOS;
}
else if (Contains(X121SMCSARToken, value))
{
result = X_121_SMC_PROVIDER_SAR;
}
else if (Contains(X121SMCCHOCHToken, value))
{
result = X_121_SMC_PROVIDER_CHOCH;
}
else if (Contains(X121SMCPULLBKToken, value))
{
result = X_121_SMC_PROVIDER_PULLBK;
}
//
return result;
}
//