Resolve XUSCHF5 XCHMACC Longs All Critical Guard Attacks in AMarkets-Real ...
This commit is contained in:
@@ -63,12 +63,12 @@ input bool xUSCHF5XTSFIAllowShortSignals = true; // Enable Short Signals
|
||||
// input bool xUSCHF5XOBDLHAllowLongSignals = true; // Enable Long Signals
|
||||
// input bool xUSCHF5XOBDLHAllowShortSignals = true; // Enable Short Signals
|
||||
|
||||
// //
|
||||
// // XCHMACC ...
|
||||
// input group "XUSCHF5 XCHMACC Signaller";
|
||||
// input bool xUSCHF5XCHMACCEnableSignaller = true; // Enable Signaller
|
||||
// input bool xUSCHF5XCHMACCAllowLongSignals = true; // Enable Long Signals
|
||||
// input bool xUSCHF5XCHMACCAllowShortSignals = true; // Enable Short Signals
|
||||
//
|
||||
// XCHMACC ...
|
||||
input group "XUSCHF5 XCHMACC Signaller";
|
||||
input bool xUSCHF5XCHMACCEnableSignaller = true; // Enable Signaller
|
||||
input bool xUSCHF5XCHMACCAllowLongSignals = true; // Enable Long Signals
|
||||
input bool xUSCHF5XCHMACCAllowShortSignals = true; // Enable Short Signals
|
||||
|
||||
// //
|
||||
// // XCHMAMX ...
|
||||
@@ -128,26 +128,26 @@ bool xUSCHF5MXTSFIAllowShortSignals = xUSCHF5XTSFIAllowShortSignals;
|
||||
|
||||
//
|
||||
// XOBDLH ...
|
||||
bool xUSCHF5MXOBDLHEnableSignaller = false; // xUSCHF5XOBDLHEnableSignaller;
|
||||
bool xUSCHF5MXOBDLHAllowLongSignals = false; // xUSCHF5XOBDLHAllowLongSignals;
|
||||
bool xUSCHF5MXOBDLHEnableSignaller = false; // xUSCHF5XOBDLHEnableSignaller;
|
||||
bool xUSCHF5MXOBDLHAllowLongSignals = false; // xUSCHF5XOBDLHAllowLongSignals;
|
||||
bool xUSCHF5MXOBDLHAllowShortSignals = false; // xUSCHF5XOBDLHAllowShortSignals;
|
||||
|
||||
//
|
||||
// XCHMACC ...
|
||||
bool xUSCHF5MXCHMACCEnableSignaller = false; // xUSCHF5XCHMACCEnableSignaller;
|
||||
bool xUSCHF5MXCHMACCAllowLongSignals = false; // xUSCHF5XCHMACCAllowLongSignals;
|
||||
bool xUSCHF5MXCHMACCAllowShortSignals = false; // xUSCHF5XCHMACCAllowShortSignals;
|
||||
bool xUSCHF5MXCHMACCEnableSignaller = xUSCHF5XCHMACCEnableSignaller;
|
||||
bool xUSCHF5MXCHMACCAllowLongSignals = xUSCHF5XCHMACCAllowLongSignals;
|
||||
bool xUSCHF5MXCHMACCAllowShortSignals = xUSCHF5XCHMACCAllowShortSignals;
|
||||
|
||||
//
|
||||
// XCHMAMX ...
|
||||
bool xUSCHF5MXCHMAMXEnableSignaller = false; // xUSCHF5XCHMAMXEnableSignaller;
|
||||
bool xUSCHF5MXCHMAMXAllowLongSignals = false; // xUSCHF5XCHMAMXAllowLongSignals;
|
||||
bool xUSCHF5MXCHMAMXEnableSignaller = false; // xUSCHF5XCHMAMXEnableSignaller;
|
||||
bool xUSCHF5MXCHMAMXAllowLongSignals = false; // xUSCHF5XCHMAMXAllowLongSignals;
|
||||
bool xUSCHF5MXCHMAMXAllowShortSignals = false; // xUSCHF5XCHMAMXAllowShortSignals;
|
||||
|
||||
//
|
||||
// XCHMAMN ...
|
||||
bool xUSCHF5MXCHMAMNEnableSignaller = false; // xUSCHF5XCHMAMNEnableSignaller;
|
||||
bool xUSCHF5MXCHMAMNAllowLongSignals = false; // xUSCHF5XCHMAMNAllowLongSignals;
|
||||
bool xUSCHF5MXCHMAMNEnableSignaller = false; // xUSCHF5XCHMAMNEnableSignaller;
|
||||
bool xUSCHF5MXCHMAMNAllowLongSignals = false; // xUSCHF5XCHMAMNAllowLongSignals;
|
||||
bool xUSCHF5MXCHMAMNAllowShortSignals = false; // xUSCHF5XCHMAMNAllowShortSignals;
|
||||
|
||||
//
|
||||
@@ -437,30 +437,30 @@ bool XUSCHF5InitIndicators()
|
||||
//
|
||||
// XOBDLH ...
|
||||
bool isXOBDLHEnable = false;
|
||||
// xUSCHF5XOBDLHEnableSignaller &&
|
||||
// (xUSCHF5XOBDLHAllowLongSignals ||
|
||||
// xUSCHF5XOBDLHAllowShortSignals);
|
||||
// xUSCHF5XOBDLHEnableSignaller &&
|
||||
// (xUSCHF5XOBDLHAllowLongSignals ||
|
||||
// xUSCHF5XOBDLHAllowShortSignals);
|
||||
|
||||
//
|
||||
// XCHMACC ...
|
||||
bool isXCHMACCEnable = false;
|
||||
// xUSCHF5XCHMACCEnableSignaller &&
|
||||
// (xUSCHF5XCHMACCAllowLongSignals ||
|
||||
// xUSCHF5XCHMACCAllowShortSignals);
|
||||
bool isXCHMACCEnable =
|
||||
xUSCHF5XCHMACCEnableSignaller &&
|
||||
(xUSCHF5XCHMACCAllowLongSignals ||
|
||||
xUSCHF5XCHMACCAllowShortSignals);
|
||||
|
||||
//
|
||||
// XCHMAMX ...
|
||||
bool isXCHMAMXEnable = false;
|
||||
// xUSCHF5XCHMAMXEnableSignaller &&
|
||||
// (xUSCHF5XCHMAMXAllowLongSignals ||
|
||||
// xUSCHF5XCHMAMXAllowShortSignals);
|
||||
// xUSCHF5XCHMAMXEnableSignaller &&
|
||||
// (xUSCHF5XCHMAMXAllowLongSignals ||
|
||||
// xUSCHF5XCHMAMXAllowShortSignals);
|
||||
|
||||
//
|
||||
// XCHMAMN ...
|
||||
bool isXCHMAMNEnable = false;
|
||||
// xUSCHF5XCHMAMNEnableSignaller &&
|
||||
// (xUSCHF5XCHMAMNAllowLongSignals ||
|
||||
// xUSCHF5XCHMAMNAllowShortSignals);
|
||||
// xUSCHF5XCHMAMNEnableSignaller &&
|
||||
// (xUSCHF5XCHMAMNAllowLongSignals ||
|
||||
// xUSCHF5XCHMAMNAllowShortSignals);
|
||||
|
||||
//
|
||||
bool hasSignaller =
|
||||
@@ -1112,12 +1112,12 @@ void XUSCHF5DisableLongSignallers()
|
||||
|
||||
//
|
||||
// XCHMACC ...
|
||||
// if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
// {
|
||||
// //
|
||||
// xUSCHF5Provider.DisbaleXCHMACCLongs();
|
||||
// xUSCHF5MXCHMACCAllowLongSignals = false;
|
||||
// }
|
||||
if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
{
|
||||
//
|
||||
xUSCHF5Provider.DisbaleXCHMACCLongs();
|
||||
xUSCHF5MXCHMACCAllowLongSignals = false;
|
||||
}
|
||||
|
||||
//
|
||||
// XCHMAMX ...
|
||||
@@ -1230,20 +1230,20 @@ void XUSCHF5EnableLongSignallers()
|
||||
|
||||
//
|
||||
// XCHMACC ...
|
||||
// if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
// {
|
||||
// //
|
||||
// xUSCHF5MXCHMACCAllowLongSignals =
|
||||
// xUSCHF5XCHMACCAllowLongSignals
|
||||
// ? true
|
||||
// : xUSCHF5MXCHMACCAllowLongSignals;
|
||||
if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
{
|
||||
//
|
||||
xUSCHF5MXCHMACCAllowLongSignals =
|
||||
xUSCHF5XCHMACCAllowLongSignals
|
||||
? true
|
||||
: xUSCHF5MXCHMACCAllowLongSignals;
|
||||
|
||||
// //
|
||||
// if (xUSCHF5MXCHMACCAllowLongSignals)
|
||||
// {
|
||||
// xUSCHF5Provider.EnableXCHMACCLongs();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
if (xUSCHF5MXCHMACCAllowLongSignals)
|
||||
{
|
||||
xUSCHF5Provider.EnableXCHMACCLongs();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// XCHMAMX ...
|
||||
@@ -1331,12 +1331,12 @@ void XUSCHF5DisableShortSignallers()
|
||||
|
||||
//
|
||||
// XCHMACC ...
|
||||
// if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
// {
|
||||
// //
|
||||
// xUSCHF5Provider.DisableXCHMACCShorts();
|
||||
// xUSCHF5MXCHMACCAllowShortSignals = false;
|
||||
// }
|
||||
if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
{
|
||||
//
|
||||
xUSCHF5Provider.DisableXCHMACCShorts();
|
||||
xUSCHF5MXCHMACCAllowShortSignals = false;
|
||||
}
|
||||
|
||||
//
|
||||
// XCHMAMX ...
|
||||
@@ -1449,20 +1449,20 @@ void XUSCHF5EnableShortSignallers()
|
||||
|
||||
//
|
||||
// XCHMACC ...
|
||||
// if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
// {
|
||||
// //
|
||||
// xUSCHF5MXCHMACCAllowShortSignals =
|
||||
// xUSCHF5XCHMACCAllowShortSignals
|
||||
// ? true
|
||||
// : xUSCHF5MXCHMACCAllowShortSignals;
|
||||
if (xUSCHF5MXCHMACCEnableSignaller)
|
||||
{
|
||||
//
|
||||
xUSCHF5MXCHMACCAllowShortSignals =
|
||||
xUSCHF5XCHMACCAllowShortSignals
|
||||
? true
|
||||
: xUSCHF5MXCHMACCAllowShortSignals;
|
||||
|
||||
// //
|
||||
// if (xUSCHF5MXCHMACCAllowShortSignals)
|
||||
// {
|
||||
// xUSCHF5Provider.EnableXCHMACCShorts();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
if (xUSCHF5MXCHMACCAllowShortSignals)
|
||||
{
|
||||
xUSCHF5Provider.EnableXCHMACCShorts();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// XCHMAMX ...
|
||||
@@ -13344,6 +13344,69 @@ bool XUSCHF5XCHMACCHasLongSignal()
|
||||
//
|
||||
)
|
||||
//
|
||||
// Guard Attacks Resolves ...
|
||||
||
|
||||
//
|
||||
(
|
||||
//
|
||||
(mConditions.isXTSCurrentUnderNearest &&
|
||||
(
|
||||
//
|
||||
(mConditions.isXTDSignalUnderBear &&
|
||||
(
|
||||
//
|
||||
mConditions.isXTSCurrentCrossedUnderNearest
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
||
|
||||
//
|
||||
(mConditions.isXTDBullUnderBear &&
|
||||
(
|
||||
//
|
||||
(mConditions.isXTDSignalUnderBear &&
|
||||
(
|
||||
//
|
||||
(mConditions.isXCHMASCTrendsDown &&
|
||||
mConditions.isXCHMASCFastOverSlow)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
||
|
||||
//
|
||||
(mConditions.isXTDSignalUnderBear &&
|
||||
(
|
||||
//
|
||||
((mConditions.isXCHMALCTrendsDown &&
|
||||
mConditions.isXCHMALCFastOverSlow) &&
|
||||
(
|
||||
//
|
||||
(mConditions.isXCHMASCOverMax &&
|
||||
mConditions.isXCHLHMCLCHHSame &&
|
||||
mConditions.isXCHLHMCLCLLSame)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
)
|
||||
//
|
||||
;
|
||||
|
||||
@@ -40,12 +40,12 @@ input bool xUSCHF5EnableAlerts = true; // Enable Events Alert
|
||||
input bool xUSCHF5EnableHourlyAlerts = false; // Send Alert on each new Hour
|
||||
input bool xUSCHF5EnableDailyAlerts = false; // Send Alert on each new Day
|
||||
input bool xUSCHF5EnableWeeklyAlerts = false; // Send Alert on each new Week
|
||||
input bool xUSCHF5EnableMonthlyAlerts = true; // Send Alert on each new Month
|
||||
input bool xUSCHF5EnableMonthlyAlerts = false; // Send Alert on each new Month
|
||||
//
|
||||
// Reports ...
|
||||
input bool xUSCHF5EnableDailyReports = false; // Send Report on each new Day
|
||||
input bool xUSCHF5EnableWeeklyReports = false; // Send Report on each new Week
|
||||
input bool xUSCHF5EnableMonthlyReports = true; // Send Report on each new Month
|
||||
input bool xUSCHF5EnableDailyReports = false; // Send Report on each new Day
|
||||
input bool xUSCHF5EnableWeeklyReports = false; // Send Report on each new Week
|
||||
input bool xUSCHF5EnableMonthlyReports = false; // Send Report on each new Month
|
||||
|
||||
//
|
||||
// Trader and Expert Specific Configurations ...
|
||||
@@ -80,16 +80,16 @@ input double xUSCHF5MaxSupportedVolumePerTradeFactor = 0;
|
||||
input double xUSCHF5IncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance
|
||||
//
|
||||
// Trade Profits ...
|
||||
input double xUSCHF5MinRewardInPips = 6; // Minimum Reward Per Trade in Pips
|
||||
input double xUSCHF5MinRewardInPips = 6; // Minimum Reward Per Trade in Pips
|
||||
input double xUSCHF5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips
|
||||
input double xUSCHF5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades
|
||||
input double xUSCHF5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades
|
||||
//
|
||||
// Guard Riskable Money and Profits ...
|
||||
input double xUSCHF5CriticalDrawDownFactor = 0.15; // Critical Allowed Drawdown Factor based on Balance
|
||||
input ENUM_X_GUARD_ACTIONS xUSCHF5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Critical Drawdown
|
||||
input double xUSCHF5MaxAllowedDrawDownFactor = 0.20; // Max Allowed Drawdown Factor based on Balance
|
||||
input ENUM_X_GUARD_ACTIONS xUSCHF5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_10; // Specify Guard Action on Max Allowed Drawdown
|
||||
input int xUSCHF5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched
|
||||
input double xUSCHF5CriticalDrawDownFactor = 0.15; // Critical Allowed Drawdown Factor based on Balance
|
||||
input ENUM_X_GUARD_ACTIONS xUSCHF5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown
|
||||
input double xUSCHF5MaxAllowedDrawDownFactor = 0.20; // Max Allowed Drawdown Factor based on Balance
|
||||
input ENUM_X_GUARD_ACTIONS xUSCHF5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown
|
||||
input int xUSCHF5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched
|
||||
|
||||
//
|
||||
// Account Conditions for Trading ...
|
||||
@@ -212,7 +212,7 @@ bool XUSCHF5ValidateInputs()
|
||||
//
|
||||
result =
|
||||
xUSCHF5CriticalDrawDownFactor == 0 || (xUSCHF5CriticalDrawDownFactor > 0 &&
|
||||
xUSCHF5CriticalDrawDownFactor < 1);
|
||||
xUSCHF5CriticalDrawDownFactor < 1);
|
||||
if (!result)
|
||||
{
|
||||
//
|
||||
@@ -225,7 +225,7 @@ bool XUSCHF5ValidateInputs()
|
||||
//
|
||||
result =
|
||||
xUSCHF5MaxAllowedDrawDownFactor == 0 || (xUSCHF5MaxAllowedDrawDownFactor > 0 &&
|
||||
xUSCHF5MaxAllowedDrawDownFactor < 1);
|
||||
xUSCHF5MaxAllowedDrawDownFactor < 1);
|
||||
if (!result)
|
||||
{
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user