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();
// }
// }
}
//
@@ -38,9 +38,9 @@ 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 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
@@ -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
@@ -85,10 +85,10 @@ input double xAU5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips
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 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
//
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -58,10 +58,10 @@ input bool xEU5XTSFIAllowShortSignals = true; // Enable Short Signals
//
// XOBDLH ...
input group "XEU5 XOBDLH Signaller";
input bool xEU5XOBDLHEnableSignaller = true; // Enable Signaller
input bool xEU5XOBDLHAllowLongSignals = true; // Enable Long Signals
input bool xEU5XOBDLHAllowShortSignals = true; // Enable Short Signals
// input group "XEU5 XOBDLH Signaller";
// input bool xEU5XOBDLHEnableSignaller = true; // Enable Signaller
// input bool xEU5XOBDLHAllowLongSignals = true; // Enable Long Signals
// input bool xEU5XOBDLHAllowShortSignals = true; // Enable Short Signals
//
// XCHMACC ...
@@ -72,17 +72,17 @@ input bool xEU5XCHMACCAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMX ...
input group "XEU5 XCHMAMX Signaller";
input bool xEU5XCHMAMXEnableSignaller = true; // Enable Signaller
input bool xEU5XCHMAMXAllowLongSignals = true; // Enable Long Signals
input bool xEU5XCHMAMXAllowShortSignals = true; // Enable Short Signals
// input group "XEU5 XCHMAMX Signaller";
// input bool xEU5XCHMAMXEnableSignaller = true; // Enable Signaller
// input bool xEU5XCHMAMXAllowLongSignals = true; // Enable Long Signals
// input bool xEU5XCHMAMXAllowShortSignals = true; // Enable Short Signals
//
// XCHMAMN ...
input group "XEU5 XCHMAMN Signaller";
input bool xEU5XCHMAMNEnableSignaller = true; // Enable Signaller
input bool xEU5XCHMAMNAllowLongSignals = true; // Enable Long Signals
input bool xEU5XCHMAMNAllowShortSignals = true; // Enable Short Signals
// input group "XEU5 XCHMAMN Signaller";
// input bool xEU5XCHMAMNEnableSignaller = true; // Enable Signaller
// input bool xEU5XCHMAMNAllowLongSignals = true; // Enable Long Signals
// input bool xEU5XCHMAMNAllowShortSignals = true; // Enable Short Signals
//
// Check in Test Mode or not ...
@@ -128,9 +128,9 @@ bool xEU5MXTSFIAllowShortSignals = xEU5XTSFIAllowShortSignals;
//
// XOBDLH ...
bool xEU5MXOBDLHEnableSignaller = xEU5XOBDLHEnableSignaller;
bool xEU5MXOBDLHAllowLongSignals = xEU5XOBDLHAllowLongSignals;
bool xEU5MXOBDLHAllowShortSignals = xEU5XOBDLHAllowShortSignals;
bool xEU5MXOBDLHEnableSignaller = false; // xEU5XOBDLHEnableSignaller;
bool xEU5MXOBDLHAllowLongSignals = false; // xEU5XOBDLHAllowLongSignals;
bool xEU5MXOBDLHAllowShortSignals = false; // xEU5XOBDLHAllowShortSignals;
//
// XCHMACC ...
@@ -140,15 +140,15 @@ bool xEU5MXCHMACCAllowShortSignals = xEU5XCHMACCAllowShortSignals;
//
// XCHMAMX ...
bool xEU5MXCHMAMXEnableSignaller = xEU5XCHMAMXEnableSignaller;
bool xEU5MXCHMAMXAllowLongSignals = xEU5XCHMAMXAllowLongSignals;
bool xEU5MXCHMAMXAllowShortSignals = xEU5XCHMAMXAllowShortSignals;
bool xEU5MXCHMAMXEnableSignaller = false; // xEU5XCHMAMXEnableSignaller;
bool xEU5MXCHMAMXAllowLongSignals = false; // xEU5XCHMAMXAllowLongSignals;
bool xEU5MXCHMAMXAllowShortSignals = false; // xEU5XCHMAMXAllowShortSignals;
//
// XCHMAMN ...
bool xEU5MXCHMAMNEnableSignaller = xEU5XCHMAMNEnableSignaller;
bool xEU5MXCHMAMNAllowLongSignals = xEU5XCHMAMNAllowLongSignals;
bool xEU5MXCHMAMNAllowShortSignals = xEU5XCHMAMNAllowShortSignals;
bool xEU5MXCHMAMNEnableSignaller = false; // xEU5XCHMAMNEnableSignaller;
bool xEU5MXCHMAMNAllowLongSignals = false; // xEU5XCHMAMNAllowLongSignals;
bool xEU5MXCHMAMNAllowShortSignals = false; // xEU5XCHMAMNAllowShortSignals;
//
XCProvider *xEU5Provider;
@@ -436,10 +436,10 @@ bool XEU5InitIndicators()
//
// XOBDLH ...
bool isXOBDLHEnable =
xEU5XOBDLHEnableSignaller &&
(xEU5XOBDLHAllowLongSignals ||
xEU5XOBDLHAllowShortSignals);
bool isXOBDLHEnable = false;
// xEU5XOBDLHEnableSignaller &&
// (xEU5XOBDLHAllowLongSignals ||
// xEU5XOBDLHAllowShortSignals);
//
// XCHMACC ...
@@ -450,17 +450,17 @@ bool XEU5InitIndicators()
//
// XCHMAMX ...
bool isXCHMAMXEnable =
xEU5XCHMAMXEnableSignaller &&
(xEU5XCHMAMXAllowLongSignals ||
xEU5XCHMAMXAllowShortSignals);
bool isXCHMAMXEnable = false;
// xEU5XCHMAMXEnableSignaller &&
// (xEU5XCHMAMXAllowLongSignals ||
// xEU5XCHMAMXAllowShortSignals);
//
// XCHMAMN ...
bool isXCHMAMNEnable =
xEU5XCHMAMNEnableSignaller &&
(xEU5XCHMAMNAllowLongSignals ||
xEU5XCHMAMNAllowShortSignals);
bool isXCHMAMNEnable = false;
// xEU5XCHMAMNEnableSignaller &&
// (xEU5XCHMAMNAllowLongSignals ||
// xEU5XCHMAMNAllowShortSignals);
//
bool hasSignaller =
@@ -1103,12 +1103,12 @@ void XEU5DisableLongSignallers()
//
// XOBDLH ...
if (xEU5MXOBDLHEnableSignaller)
{
//
xEU5Provider.DisbaleXOBDLHLongs();
xEU5MXOBDLHAllowLongSignals = false;
}
// if (xEU5MXOBDLHEnableSignaller)
// {
// //
// xEU5Provider.DisbaleXOBDLHLongs();
// xEU5MXOBDLHAllowLongSignals = false;
// }
//
// XCHMACC ...
@@ -1121,21 +1121,21 @@ void XEU5DisableLongSignallers()
//
// XCHMAMX ...
if (xEU5MXCHMAMXEnableSignaller)
{
//
xEU5Provider.DisbaleXCHMAMXLongs();
xEU5MXCHMAMXAllowLongSignals = false;
}
// if (xEU5MXCHMAMXEnableSignaller)
// {
// //
// xEU5Provider.DisbaleXCHMAMXLongs();
// xEU5MXCHMAMXAllowLongSignals = false;
// }
//
// XCHMAMN ...
if (xEU5MXCHMAMNEnableSignaller)
{
//
xEU5Provider.DisbaleXCHMAMNLongs();
xEU5MXCHMAMNAllowLongSignals = false;
}
// if (xEU5MXCHMAMNEnableSignaller)
// {
// //
// xEU5Provider.DisbaleXCHMAMNLongs();
// xEU5MXCHMAMNAllowLongSignals = false;
// }
}
//
@@ -1213,20 +1213,20 @@ void XEU5EnableLongSignallers()
//
// XOBDLH ...
if (xEU5MXOBDLHEnableSignaller)
{
//
xEU5MXOBDLHAllowLongSignals =
xEU5XOBDLHAllowLongSignals
? true
: xEU5MXOBDLHAllowLongSignals;
// if (xEU5MXOBDLHEnableSignaller)
// {
// //
// xEU5MXOBDLHAllowLongSignals =
// xEU5XOBDLHAllowLongSignals
// ? true
// : xEU5MXOBDLHAllowLongSignals;
//
if (xEU5MXOBDLHAllowLongSignals)
{
xEU5Provider.EnableXOBDLHLongs();
}
}
// //
// if (xEU5MXOBDLHAllowLongSignals)
// {
// xEU5Provider.EnableXOBDLHLongs();
// }
// }
//
// XCHMACC ...
@@ -1247,37 +1247,37 @@ void XEU5EnableLongSignallers()
//
// XCHMAMX ...
if (xEU5MXCHMAMXEnableSignaller)
{
//
xEU5MXCHMAMXAllowLongSignals =
xEU5XCHMAMXAllowLongSignals
? true
: xEU5MXCHMAMXAllowLongSignals;
// if (xEU5MXCHMAMXEnableSignaller)
// {
// //
// xEU5MXCHMAMXAllowLongSignals =
// xEU5XCHMAMXAllowLongSignals
// ? true
// : xEU5MXCHMAMXAllowLongSignals;
//
if (xEU5MXCHMAMXAllowLongSignals)
{
xEU5Provider.EnableXCHMAMXLongs();
}
}
// //
// if (xEU5MXCHMAMXAllowLongSignals)
// {
// xEU5Provider.EnableXCHMAMXLongs();
// }
// }
//
// XCHMAMN ...
if (xEU5MXCHMAMNEnableSignaller)
{
//
xEU5MXCHMAMNAllowLongSignals =
xEU5XCHMAMNAllowLongSignals
? true
: xEU5MXCHMAMNAllowLongSignals;
// if (xEU5MXCHMAMNEnableSignaller)
// {
// //
// xEU5MXCHMAMNAllowLongSignals =
// xEU5XCHMAMNAllowLongSignals
// ? true
// : xEU5MXCHMAMNAllowLongSignals;
//
if (xEU5MXCHMAMNAllowLongSignals)
{
xEU5Provider.EnableXCHMAMNLongs();
}
}
// //
// if (xEU5MXCHMAMNAllowLongSignals)
// {
// xEU5Provider.EnableXCHMAMNLongs();
// }
// }
}
//
@@ -1322,12 +1322,12 @@ void XEU5DisableShortSignallers()
//
// XOBDLH ...
if (xEU5MXOBDLHEnableSignaller)
{
//
xEU5Provider.DisableXOBDLHShorts();
xEU5MXOBDLHAllowShortSignals = false;
}
// if (xEU5MXOBDLHEnableSignaller)
// {
// //
// xEU5Provider.DisableXOBDLHShorts();
// xEU5MXOBDLHAllowShortSignals = false;
// }
//
// XCHMACC ...
@@ -1340,21 +1340,21 @@ void XEU5DisableShortSignallers()
//
// XCHMAMX ...
if (xEU5MXCHMAMXEnableSignaller)
{
//
xEU5Provider.DisableXCHMAMXShorts();
xEU5MXCHMAMXAllowShortSignals = false;
}
// if (xEU5MXCHMAMXEnableSignaller)
// {
// //
// xEU5Provider.DisableXCHMAMXShorts();
// xEU5MXCHMAMXAllowShortSignals = false;
// }
//
// XCHMAMN ...
if (xEU5MXCHMAMNEnableSignaller)
{
//
xEU5Provider.DisableXCHMAMNShorts();
xEU5MXCHMAMNAllowShortSignals = false;
}
// if (xEU5MXCHMAMNEnableSignaller)
// {
// //
// xEU5Provider.DisableXCHMAMNShorts();
// xEU5MXCHMAMNAllowShortSignals = false;
// }
}
//
@@ -1432,20 +1432,20 @@ void XEU5EnableShortSignallers()
//
// XOBDLH ...
if (xEU5MXOBDLHEnableSignaller)
{
//
xEU5MXOBDLHAllowShortSignals =
xEU5XOBDLHAllowShortSignals
? true
: xEU5MXOBDLHAllowShortSignals;
// if (xEU5MXOBDLHEnableSignaller)
// {
// //
// xEU5MXOBDLHAllowShortSignals =
// xEU5XOBDLHAllowShortSignals
// ? true
// : xEU5MXOBDLHAllowShortSignals;
//
if (xEU5MXOBDLHAllowShortSignals)
{
xEU5Provider.EnableXOBDLHShorts();
}
}
// //
// if (xEU5MXOBDLHAllowShortSignals)
// {
// xEU5Provider.EnableXOBDLHShorts();
// }
// }
//
// XCHMACC ...
@@ -1466,37 +1466,37 @@ void XEU5EnableShortSignallers()
//
// XCHMAMX ...
if (xEU5MXCHMAMXEnableSignaller)
{
//
xEU5MXCHMAMXAllowShortSignals =
xEU5XCHMAMXAllowShortSignals
? true
: xEU5MXCHMAMXAllowShortSignals;
// if (xEU5MXCHMAMXEnableSignaller)
// {
// //
// xEU5MXCHMAMXAllowShortSignals =
// xEU5XCHMAMXAllowShortSignals
// ? true
// : xEU5MXCHMAMXAllowShortSignals;
//
if (xEU5MXCHMAMXAllowShortSignals)
{
xEU5Provider.EnableXCHMAMXShorts();
}
}
// //
// if (xEU5MXCHMAMXAllowShortSignals)
// {
// xEU5Provider.EnableXCHMAMXShorts();
// }
// }
//
// XCHMAMN ...
if (xEU5MXCHMAMNEnableSignaller)
{
//
xEU5MXCHMAMNAllowShortSignals =
xEU5XCHMAMNAllowShortSignals
? true
: xEU5MXCHMAMNAllowShortSignals;
// if (xEU5MXCHMAMNEnableSignaller)
// {
// //
// xEU5MXCHMAMNAllowShortSignals =
// xEU5XCHMAMNAllowShortSignals
// ? true
// : xEU5MXCHMAMNAllowShortSignals;
//
if (xEU5MXCHMAMNAllowShortSignals)
{
xEU5Provider.EnableXCHMAMNShorts();
}
}
// //
// if (xEU5MXCHMAMNAllowShortSignals)
// {
// xEU5Provider.EnableXCHMAMNShorts();
// }
// }
}
//
@@ -38,9 +38,9 @@ input int xEU5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick
// Alerts ...
input bool xEU5EnableAlerts = true; // Enable Events Alert
input bool xEU5EnableHourlyAlerts = false; // Send Alert on each new Hour
input bool xEU5EnableDailyAlerts = true; // Send Alert on each new Day
input bool xEU5EnableWeeklyAlerts = true; // Send Alert on each new Week
input bool xEU5EnableMonthlyAlerts = true; // Send Alert on each new Month
input bool xEU5EnableDailyAlerts = false; // Send Alert on each new Day
input bool xEU5EnableWeeklyAlerts = false; // Send Alert on each new Week
input bool xEU5EnableMonthlyAlerts = false; // Send Alert on each new Month
//
// Reports ...
input bool xEU5EnableDailyReports = false; // Send Report on each new Day
@@ -68,11 +68,11 @@ input int xEU5MaxAllowedTrades = 10;
input ENUM_X_CROSS_SIGNAL_METHOD xEU5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method
//
// Max Allowed Trade Age ...
input int xEU5MaxAllowedTradeAge = 1800; // Detect Long Time Trades
input int xEU5MaxAllowedTradeAge = 1500; // Detect Long Time Trades
input ENUM_X_GUARD_ACTIONS xEU5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades
//
// Trade Volume Specific Configurations ...
input double xEU5StaticVolumeFactor = 0.0004; // Static Volume baesd on Balance
input double xEU5StaticVolumeFactor = 0.0002; // Static Volume baesd on Balance
input ENUM_STATIC_VOLUME_METHODS xEU5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume
input double xEU5VolumeMultiplier = 0; // Volume Increase Multiplier
input double xEU5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance
@@ -85,9 +85,9 @@ input double xEU5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips
input double xEU5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades
//
// Guard Riskable Money and Profits ...
input double xEU5CriticalDrawDownFactor = 0.30; // Critical Allowed Drawdown Factor based on Balance
input double xEU5CriticalDrawDownFactor = 0.20; // Critical Allowed Drawdown Factor based on Balance
input ENUM_X_GUARD_ACTIONS xEU5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown
input double xEU5MaxAllowedDrawDownFactor = 0.40; // Max Allowed Drawdown Factor based on Balance
input double xEU5MaxAllowedDrawDownFactor = 0.25; // Max Allowed Drawdown Factor based on Balance
input ENUM_X_GUARD_ACTIONS xEU5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown
input int xEU5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched