This commit is contained in:
2024-02-24 17:09:05 +03:30
parent 65ca188e83
commit 75bca41659
71 changed files with 328 additions and 328 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -254,14 +254,14 @@ struct XMarketConditions
//
//
class XCPriver : public XCBase
class XCProvider : public XCBase
{
//
// Public ...
public:
//
// Constructor ...
XCPriver(
XCProvider(
//
// Common Requirements ...
string xSymbol, // Which Symbol is Used
@@ -362,7 +362,7 @@ public:
//
// Deconstructor ...
~XCPriver() {}
~XCProvider() {}
//
// START Common Functions ...
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -58,10 +58,10 @@ input bool xAU5XTSFIAllowShortSignals = true; // Enable Short Signals
//
// XOBDLH ...
input group "XAU5 XOBDLH Signaller";
input bool xAU5XOBDLHEnableSignaller = true; // Enable Signaller
input bool xAU5XOBDLHAllowLongSignals = true; // Enable Long Signals
input bool xAU5XOBDLHAllowShortSignals = true; // Enable Short Signals
// input group "XAU5 XOBDLH Signaller";
// input bool xAU5XOBDLHEnableSignaller = true; // Enable Signaller
// input bool xAU5XOBDLHAllowLongSignals = true; // Enable Long Signals
// input bool xAU5XOBDLHAllowShortSignals = true; // Enable Short Signals
//
// XCHMACC ...
@@ -72,17 +72,17 @@ input bool xAU5XCHMACCAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMX ...
input group "XAU5 XCHMAMX Signaller";
input bool xAU5XCHMAMXEnableSignaller = true; // Enable Signaller
input bool xAU5XCHMAMXAllowLongSignals = true; // Enable Long Signals
input bool xAU5XCHMAMXAllowShortSignals = true; // Enable Short Signals
// input group "XAU5 XCHMAMX Signaller";
// input bool xAU5XCHMAMXEnableSignaller = true; // Enable Signaller
// input bool xAU5XCHMAMXAllowLongSignals = true; // Enable Long Signals
// input bool xAU5XCHMAMXAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMN ...
input group "XAU5 XCHMAMN Signaller";
input bool xAU5XCHMAMNEnableSignaller = true; // Enable Signaller
input bool xAU5XCHMAMNAllowLongSignals = true; // Enable Long Signals
input bool xAU5XCHMAMNAllowShortSignals = true; // Enable Short Signals
// input group "XAU5 XCHMAMN Signaller";
// input bool xAU5XCHMAMNEnableSignaller = true; // Enable Signaller
// input bool xAU5XCHMAMNAllowLongSignals = true; // Enable Long Signals
// input bool xAU5XCHMAMNAllowShortSignals = true; // Enable Short Signals
//
// Check in Test Mode or not ...
@@ -128,9 +128,9 @@ bool xAU5MXTSFIAllowShortSignals = xAU5XTSFIAllowShortSignals;
//
// XOBDLH ...
bool xAU5MXOBDLHEnableSignaller = xAU5XOBDLHEnableSignaller;
bool xAU5MXOBDLHAllowLongSignals = xAU5XOBDLHAllowLongSignals;
bool xAU5MXOBDLHAllowShortSignals = xAU5XOBDLHAllowShortSignals;
bool xAU5MXOBDLHEnableSignaller = false; //xAU5XOBDLHEnableSignaller;
bool xAU5MXOBDLHAllowLongSignals = false; //xAU5XOBDLHAllowLongSignals;
bool xAU5MXOBDLHAllowShortSignals = false; //xAU5XOBDLHAllowShortSignals;
//
// XCHMACC ...
@@ -140,18 +140,18 @@ bool xAU5MXCHMACCAllowShortSignals = xAU5XCHMACCAllowShortSignals;
//
// XCHMAMX ...
bool xAU5MXCHMAMXEnableSignaller = xAU5XCHMAMXEnableSignaller;
bool xAU5MXCHMAMXAllowLongSignals = xAU5XCHMAMXAllowLongSignals;
bool xAU5MXCHMAMXAllowShortSignals = xAU5XCHMAMXAllowShortSignals;
bool xAU5MXCHMAMXEnableSignaller = false; // xAU5XCHMAMXEnableSignaller;
bool xAU5MXCHMAMXAllowLongSignals = false; // xAU5XCHMAMXAllowLongSignals;
bool xAU5MXCHMAMXAllowShortSignals = false; // xAU5XCHMAMXAllowShortSignals;
//
// XCHMAMN ...
bool xAU5MXCHMAMNEnableSignaller = xAU5XCHMAMNEnableSignaller;
bool xAU5MXCHMAMNAllowLongSignals = xAU5XCHMAMNAllowLongSignals;
bool xAU5MXCHMAMNAllowShortSignals = xAU5XCHMAMNAllowShortSignals;
bool xAU5MXCHMAMNEnableSignaller = false; // xAU5XCHMAMNEnableSignaller;
bool xAU5MXCHMAMNAllowLongSignals = false; // xAU5XCHMAMNAllowLongSignals;
bool xAU5MXCHMAMNAllowShortSignals = false; // xAU5XCHMAMNAllowShortSignals;
//
XCPriver *xAU5Provider;
XCProvider *xAU5Provider;
//
// Validate Indicators Inputs ...
@@ -241,8 +241,8 @@ bool XAU5ValidateIndicatorsInputs()
}
//
// Make an Instance Of XCPriver Class for Use ...
xAU5Provider = new XCPriver(
// Make an Instance Of XCProvider Class for Use ...
xAU5Provider = new XCProvider(
//
// Commons ...
_Symbol,
@@ -436,10 +436,10 @@ bool XAU5InitIndicators()
//
// XOBDLH ...
bool isXOBDLHEnable =
xAU5XOBDLHEnableSignaller &&
(xAU5XOBDLHAllowLongSignals ||
xAU5XOBDLHAllowShortSignals);
bool isXOBDLHEnable = false;
// xAU5XOBDLHEnableSignaller &&
// (xAU5XOBDLHAllowLongSignals ||
// xAU5XOBDLHAllowShortSignals);
//
// XCHMACC ...
@@ -450,17 +450,17 @@ bool XAU5InitIndicators()
//
// XCHMAMX ...
bool isXCHMAMXEnable =
xAU5XCHMAMXEnableSignaller &&
(xAU5XCHMAMXAllowLongSignals ||
xAU5XCHMAMXAllowShortSignals);
bool isXCHMAMXEnable = false;
// xAU5XCHMAMXEnableSignaller &&
// (xAU5XCHMAMXAllowLongSignals ||
// xAU5XCHMAMXAllowShortSignals);
//
// XCHMAMN ...
bool isXCHMAMNEnable =
xAU5XCHMAMNEnableSignaller &&
(xAU5XCHMAMNAllowLongSignals ||
xAU5XCHMAMNAllowShortSignals);
bool isXCHMAMNEnable = false;
// xAU5XCHMAMNEnableSignaller &&
// (xAU5XCHMAMNAllowLongSignals ||
// xAU5XCHMAMNAllowShortSignals);
//
bool hasSignaller =
@@ -1103,12 +1103,12 @@ void XAU5DisableLongSignallers()
//
// XOBDLH ...
if (xAU5MXOBDLHEnableSignaller)
{
//
xAU5Provider.DisbaleXOBDLHLongs();
xAU5MXOBDLHAllowLongSignals = false;
}
// if (xAU5MXOBDLHEnableSignaller)
// {
// //
// xAU5Provider.DisbaleXOBDLHLongs();
// xAU5MXOBDLHAllowLongSignals = false;
// }
//
// XCHMACC ...
@@ -1121,21 +1121,21 @@ void XAU5DisableLongSignallers()
//
// XCHMAMX ...
if (xAU5MXCHMAMXEnableSignaller)
{
//
xAU5Provider.DisbaleXCHMAMXLongs();
xAU5MXCHMAMXAllowLongSignals = false;
}
// if (xAU5MXCHMAMXEnableSignaller)
// {
// //
// xAU5Provider.DisbaleXCHMAMXLongs();
// xAU5MXCHMAMXAllowLongSignals = false;
// }
//
// XCHMAMN ...
if (xAU5MXCHMAMNEnableSignaller)
{
//
xAU5Provider.DisbaleXCHMAMNLongs();
xAU5MXCHMAMNAllowLongSignals = false;
}
// if (xAU5MXCHMAMNEnableSignaller)
// {
// //
// xAU5Provider.DisbaleXCHMAMNLongs();
// xAU5MXCHMAMNAllowLongSignals = false;
// }
}
//
@@ -1213,20 +1213,20 @@ void XAU5EnableLongSignallers()
//
// XOBDLH ...
if (xAU5MXOBDLHEnableSignaller)
{
//
xAU5MXOBDLHAllowLongSignals =
xAU5XOBDLHAllowLongSignals
? true
: xAU5MXOBDLHAllowLongSignals;
// if (xAU5MXOBDLHEnableSignaller)
// {
// //
// xAU5MXOBDLHAllowLongSignals =
// xAU5XOBDLHAllowLongSignals
// ? true
// : xAU5MXOBDLHAllowLongSignals;
//
if (xAU5MXOBDLHAllowLongSignals)
{
xAU5Provider.EnableXOBDLHLongs();
}
}
// //
// if (xAU5MXOBDLHAllowLongSignals)
// {
// xAU5Provider.EnableXOBDLHLongs();
// }
// }
//
// XCHMACC ...
@@ -1247,37 +1247,37 @@ void XAU5EnableLongSignallers()
//
// XCHMAMX ...
if (xAU5MXCHMAMXEnableSignaller)
{
//
xAU5MXCHMAMXAllowLongSignals =
xAU5XCHMAMXAllowLongSignals
? true
: xAU5MXCHMAMXAllowLongSignals;
// if (xAU5MXCHMAMXEnableSignaller)
// {
// //
// xAU5MXCHMAMXAllowLongSignals =
// xAU5XCHMAMXAllowLongSignals
// ? true
// : xAU5MXCHMAMXAllowLongSignals;
//
if (xAU5MXCHMAMXAllowLongSignals)
{
xAU5Provider.EnableXCHMAMXLongs();
}
}
// //
// if (xAU5MXCHMAMXAllowLongSignals)
// {
// xAU5Provider.EnableXCHMAMXLongs();
// }
// }
//
// XCHMAMN ...
if (xAU5MXCHMAMNEnableSignaller)
{
//
xAU5MXCHMAMNAllowLongSignals =
xAU5XCHMAMNAllowLongSignals
? true
: xAU5MXCHMAMNAllowLongSignals;
// if (xAU5MXCHMAMNEnableSignaller)
// {
// //
// xAU5MXCHMAMNAllowLongSignals =
// xAU5XCHMAMNAllowLongSignals
// ? true
// : xAU5MXCHMAMNAllowLongSignals;
//
if (xAU5MXCHMAMNAllowLongSignals)
{
xAU5Provider.EnableXCHMAMNLongs();
}
}
// //
// if (xAU5MXCHMAMNAllowLongSignals)
// {
// xAU5Provider.EnableXCHMAMNLongs();
// }
// }
}
//
@@ -1322,12 +1322,12 @@ void XAU5DisableShortSignallers()
//
// XOBDLH ...
if (xAU5MXOBDLHEnableSignaller)
{
//
xAU5Provider.DisableXOBDLHShorts();
xAU5MXOBDLHAllowShortSignals = false;
}
// if (xAU5MXOBDLHEnableSignaller)
// {
// //
// xAU5Provider.DisableXOBDLHShorts();
// xAU5MXOBDLHAllowShortSignals = false;
// }
//
// XCHMACC ...
@@ -1340,21 +1340,21 @@ void XAU5DisableShortSignallers()
//
// XCHMAMX ...
if (xAU5MXCHMAMXEnableSignaller)
{
//
xAU5Provider.DisableXCHMAMXShorts();
xAU5MXCHMAMXAllowShortSignals = false;
}
// if (xAU5MXCHMAMXEnableSignaller)
// {
// //
// xAU5Provider.DisableXCHMAMXShorts();
// xAU5MXCHMAMXAllowShortSignals = false;
// }
//
// XCHMAMN ...
if (xAU5MXCHMAMNEnableSignaller)
{
//
xAU5Provider.DisableXCHMAMNShorts();
xAU5MXCHMAMNAllowShortSignals = false;
}
// if (xAU5MXCHMAMNEnableSignaller)
// {
// //
// xAU5Provider.DisableXCHMAMNShorts();
// xAU5MXCHMAMNAllowShortSignals = false;
// }
}
//
@@ -1432,20 +1432,20 @@ void XAU5EnableShortSignallers()
//
// XOBDLH ...
if (xAU5MXOBDLHEnableSignaller)
{
//
xAU5MXOBDLHAllowShortSignals =
xAU5XOBDLHAllowShortSignals
? true
: xAU5MXOBDLHAllowShortSignals;
// if (xAU5MXOBDLHEnableSignaller)
// {
// //
// xAU5MXOBDLHAllowShortSignals =
// xAU5XOBDLHAllowShortSignals
// ? true
// : xAU5MXOBDLHAllowShortSignals;
//
if (xAU5MXOBDLHAllowShortSignals)
{
xAU5Provider.EnableXOBDLHShorts();
}
}
// //
// if (xAU5MXOBDLHAllowShortSignals)
// {
// xAU5Provider.EnableXOBDLHShorts();
// }
// }
//
// XCHMACC ...
@@ -1466,37 +1466,37 @@ void XAU5EnableShortSignallers()
//
// XCHMAMX ...
if (xAU5MXCHMAMXEnableSignaller)
{
//
xAU5MXCHMAMXAllowShortSignals =
xAU5XCHMAMXAllowShortSignals
? true
: xAU5MXCHMAMXAllowShortSignals;
// if (xAU5MXCHMAMXEnableSignaller)
// {
// //
// xAU5MXCHMAMXAllowShortSignals =
// xAU5XCHMAMXAllowShortSignals
// ? true
// : xAU5MXCHMAMXAllowShortSignals;
//
if (xAU5MXCHMAMXAllowShortSignals)
{
xAU5Provider.EnableXCHMAMXShorts();
}
}
// //
// if (xAU5MXCHMAMXAllowShortSignals)
// {
// xAU5Provider.EnableXCHMAMXShorts();
// }
// }
//
// XCHMAMN ...
if (xAU5MXCHMAMNEnableSignaller)
{
//
xAU5MXCHMAMNAllowShortSignals =
xAU5XCHMAMNAllowShortSignals
? true
: xAU5MXCHMAMNAllowShortSignals;
// if (xAU5MXCHMAMNEnableSignaller)
// {
// //
// xAU5MXCHMAMNAllowShortSignals =
// xAU5XCHMAMNAllowShortSignals
// ? true
// : xAU5MXCHMAMNAllowShortSignals;
//
if (xAU5MXCHMAMNAllowShortSignals)
{
xAU5Provider.EnableXCHMAMNShorts();
}
}
// //
// if (xAU5MXCHMAMNAllowShortSignals)
// {
// xAU5Provider.EnableXCHMAMNShorts();
// }
// }
}
//
@@ -36,15 +36,15 @@ input bool xAU5EnableProvider = true; // Enable Provider
input int xAU5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick
//
// Alerts ...
input bool xAU5EnableAlerts = true; // Enable Events Alert
input bool xAU5EnableHourlyAlerts = false; // Send Alert on each new Hour
input bool xAU5EnableDailyAlerts = true; // Send Alert on each new Day
input bool xAU5EnableWeeklyAlerts = true; // Send Alert on each new Week
input bool xAU5EnableMonthlyAlerts = true; // Send Alert on each new Month
input bool xAU5EnableAlerts = true; // Enable Events Alert
input bool xAU5EnableHourlyAlerts = false; // Send Alert on each new Hour
input bool xAU5EnableDailyAlerts = false; // Send Alert on each new Day
input bool xAU5EnableWeeklyAlerts = false; // Send Alert on each new Week
input bool xAU5EnableMonthlyAlerts = false; // Send Alert on each new Month
//
// Reports ...
input bool xAU5EnableDailyReports = false; // Send Report on each new Day
input bool xAU5EnableWeeklyReports = false; // Send Report on each new Week
input bool xAU5EnableDailyReports = false; // Send Report on each new Day
input bool xAU5EnableWeeklyReports = false; // Send Report on each new Week
input bool xAU5EnableMonthlyReports = false; // Send Report on each new Month
//
@@ -68,11 +68,11 @@ input int xAU5MaxAllowedTrades = 10;
input ENUM_X_CROSS_SIGNAL_METHOD xAU5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method
//
// Max Allowed Trade Age ...
input int xAU5MaxAllowedTradeAge = 1800; // Detect Long Time Trades
input int xAU5MaxAllowedTradeAge = 1500; // Detect Long Time Trades
input ENUM_X_GUARD_ACTIONS xAU5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades
//
// Trade Volume Specific Configurations ...
input double xAU5StaticVolumeFactor = 0.0002; // Static Volume baesd on Balance
input double xAU5StaticVolumeFactor = 0.0001; // Static Volume baesd on Balance
input ENUM_STATIC_VOLUME_METHODS xAU5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume
input double xAU5VolumeMultiplier = 0; // Volume Increase Multiplier
input double xAU5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance
@@ -82,14 +82,14 @@ input double xAU5IncreasedMaxSupportedVolumeRate = 0;
// Trade Profits ...
input double xAU5MinRewardInPips = 60; // Minimum Reward Per Trade in Pips
input double xAU5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips
input double xAU5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades
input double xAU5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades
//
// Guard Riskable Money and Profits ...
input double xAU5CriticalDrawDownFactor = 0.30; // Critical Allowed Drawdown Factor based on Balance
input ENUM_X_GUARD_ACTIONS xAU5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Critical Drawdown
input double xAU5MaxAllowedDrawDownFactor = 0.40; // Max Allowed Drawdown Factor based on Balance
input ENUM_X_GUARD_ACTIONS xAU5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_10; // Specify Guard Action on Max Allowed Drawdown
input int xAU5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched
input double xAU5CriticalDrawDownFactor = 0.20; // Critical Allowed Drawdown Factor based on Balance
input ENUM_X_GUARD_ACTIONS xAU5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown
input double xAU5MaxAllowedDrawDownFactor = 0.25; // Max Allowed Drawdown Factor based on Balance
input ENUM_X_GUARD_ACTIONS xAU5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown
input int xAU5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched
//
// Account Conditions for Trading ...