Refactor all new MQL5 Version Compiling Issues ...

This commit is contained in:
2025-08-05 17:32:55 +03:30
parent f260ccc8de
commit 8f76391671
15 changed files with 419 additions and 376 deletions
+136 -136
View File
@@ -99,7 +99,7 @@ class XCXCATBEASignallerInputParser : public XCBase
}
//
result = XCATBEA_INPUTS_PREFIX + "_" + symbol + "_" + ToString(period);
result = XCATBEA_INPUTS_PREFIX + "_" + symbol + "_" + ToXString(period);
result = collector.GetFilePath(result);
//
@@ -2693,46 +2693,46 @@ class XCXCATBEAExpert : public XCBase
"-----------------------" + separator +
"Validating: " + separator +
"-----------------------" + separator +
ToString("eaForceHasSwing", eaForceHasSwing, ignoreFalseConditions, separator) +
ToString("eaForceOBBarType", eaForceOBBarType, ignoreFalseConditions, separator) +
ToString("eaForceFVGBarType", eaForceFVGBarType, ignoreFalseConditions, separator) +
ToString("eaForceHasFLiquidity", eaForceHasFLiquidity, ignoreFalseConditions, separator) +
ToString("eaForceHasRLiquidity", eaForceHasRLiquidity, ignoreFalseConditions, separator) +
ToString("eaValidateGapSequence", eaValidateGapSequence, ignoreFalseConditions, separator) +
ToString("eaValidateBlockEdgeBreakout", eaValidateBlockEdgeBreakout, ignoreFalseConditions, separator) +
ToXString("eaForceHasSwing", eaForceHasSwing, ignoreFalseConditions, separator) +
ToXString("eaForceOBBarType", eaForceOBBarType, ignoreFalseConditions, separator) +
ToXString("eaForceFVGBarType", eaForceFVGBarType, ignoreFalseConditions, separator) +
ToXString("eaForceHasFLiquidity", eaForceHasFLiquidity, ignoreFalseConditions, separator) +
ToXString("eaForceHasRLiquidity", eaForceHasRLiquidity, ignoreFalseConditions, separator) +
ToXString("eaValidateGapSequence", eaValidateGapSequence, ignoreFalseConditions, separator) +
ToXString("eaValidateBlockEdgeBreakout", eaValidateBlockEdgeBreakout, ignoreFalseConditions, separator) +
//
"-----------------------" + separator +
"Filtering: " + separator +
"-----------------------" + separator +
ToString("eaFilterBasedOnKI", eaFilterBasedOnKI, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnPV", eaFilterBasedOnPV, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnSar", eaFilterBasedOnSar, ignoreFalseConditions, separator) +
ToString("eaForceSarSwitched", eaForceSarSwitched, ignoreFalseConditions, separator) +
ToString("eaForceSarOnBothSide", eaForceSarOnBothSide, ignoreFalseConditions, separator) +
ToString("eaForceSarHasBreakout", eaForceSarHasBreakout, ignoreFalseConditions, separator) +
ToString("eaForceSarHasReversalSide", eaForceSarHasReversalSide, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnRSI", eaFilterBasedOnRSI, ignoreFalseConditions, separator) +
ToString("eaForceHasRSITrending", eaForceHasRSITrending, ignoreFalseConditions, separator) +
ToString("eaForceHasRSIVPattern", eaForceHasRSIVPattern, ignoreFalseConditions, separator) +
ToString("eaForceHasRSICrossing", eaForceHasRSICrossing, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnADX", eaFilterBasedOnADX, ignoreFalseConditions, separator) +
ToString("eaForceHasADXTrending", eaForceHasADXTrending, ignoreFalseConditions, separator) +
ToString("eaForceHasADXCrossing", eaForceHasADXCrossing, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnATR", eaFilterBasedOnATR, ignoreFalseConditions, separator) +
ToString("eaForceHasATRTrending", eaForceHasATRTrending, ignoreFalseConditions, separator) +
ToString("eaForceHasATRBreakout", eaForceHasATRBreakout, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnTrend", eaFilterBasedOnTrend, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendDir", eaForceHasTrendDir, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendPlace", eaForceHasTrendPlace, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendChange", eaForceHasTrendChange, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendTrending", eaForceHasTrendTrending, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendRejection", eaForceHasTrendRejection, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendLineInside", eaForceHasTrendLineInside, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendDirOnBothSide", eaForceHasTrendDirOnBothSide, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnDelta", eaFilterBasedOnDelta, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnVolume", eaFilterBasedOnVolume, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnSignalBar", eaFilterBasedOnSignalBar, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnHKSignalBar", eaFilterBasedOnHKSignalBar, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnKI", eaFilterBasedOnKI, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnPV", eaFilterBasedOnPV, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnSar", eaFilterBasedOnSar, ignoreFalseConditions, separator) +
ToXString("eaForceSarSwitched", eaForceSarSwitched, ignoreFalseConditions, separator) +
ToXString("eaForceSarOnBothSide", eaForceSarOnBothSide, ignoreFalseConditions, separator) +
ToXString("eaForceSarHasBreakout", eaForceSarHasBreakout, ignoreFalseConditions, separator) +
ToXString("eaForceSarHasReversalSide", eaForceSarHasReversalSide, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnRSI", eaFilterBasedOnRSI, ignoreFalseConditions, separator) +
ToXString("eaForceHasRSITrending", eaForceHasRSITrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasRSIVPattern", eaForceHasRSIVPattern, ignoreFalseConditions, separator) +
ToXString("eaForceHasRSICrossing", eaForceHasRSICrossing, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnADX", eaFilterBasedOnADX, ignoreFalseConditions, separator) +
ToXString("eaForceHasADXTrending", eaForceHasADXTrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasADXCrossing", eaForceHasADXCrossing, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnATR", eaFilterBasedOnATR, ignoreFalseConditions, separator) +
ToXString("eaForceHasATRTrending", eaForceHasATRTrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasATRBreakout", eaForceHasATRBreakout, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnTrend", eaFilterBasedOnTrend, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendDir", eaForceHasTrendDir, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendPlace", eaForceHasTrendPlace, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendChange", eaForceHasTrendChange, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendTrending", eaForceHasTrendTrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendRejection", eaForceHasTrendRejection, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendLineInside", eaForceHasTrendLineInside, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendDirOnBothSide", eaForceHasTrendDirOnBothSide, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnDelta", eaFilterBasedOnDelta, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnVolume", eaFilterBasedOnVolume, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnSignalBar", eaFilterBasedOnSignalBar, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnHKSignalBar", eaFilterBasedOnHKSignalBar, ignoreFalseConditions, separator) +
//
""
//
@@ -2769,132 +2769,132 @@ class XCXCATBEAExpert : public XCBase
//
"//" + separator +
"// Common ..." + separator +
ToString("eaMagicNumber", eaMagicNumber, separator) +
ToString("eaSlippage", eaSlippage, separator) +
ToString("eaLogSuffix", eaLogSuffix, separator) +
ToXString("eaMagicNumber", eaMagicNumber, separator) +
ToXString("eaSlippage", eaSlippage, separator) +
ToXString("eaLogSuffix", eaLogSuffix, separator) +
"" + separator +
"//" + separator +
"// Detector ..." + separator +
"" + separator +
"//" + separator +
"// Validating ..." + separator +
ToString("eaForceHasSwing", eaForceHasSwing, ignoreFalseConditions, separator) +
ToString("eaForceOBBarType", eaForceOBBarType, ignoreFalseConditions, separator) +
ToString("eaMinRequiredOBBar", eaMinRequiredOBBar, ignoreFalseConditions, separator) +
ToString("eaForceFVGBarType", eaForceFVGBarType, ignoreFalseConditions, separator) +
ToString("eaLiquidityLoopback", eaLiquidityLoopback, ignoreFalseConditions, separator) +
ToString("eaMaxAllowedRange", ToString(eaMaxAllowedRange), separator) +
ToString("eaMinAllowedRange", ToString(eaMinAllowedRange), separator) +
ToString("eaForceHasFLiquidity", eaForceHasFLiquidity, ignoreFalseConditions, separator) +
ToString("eaForceHasRLiquidity", eaForceHasRLiquidity, ignoreFalseConditions, separator) +
ToString("eaValidateGapSequence", eaValidateGapSequence, ignoreFalseConditions, separator) +
ToString("eaMinAllowedBlockLength", eaMinAllowedBlockLength, ignoreFalseConditions, separator) +
ToString("eaValidateBlockEdgeBreakout", eaValidateBlockEdgeBreakout, ignoreFalseConditions, separator) +
ToXString("eaForceHasSwing", eaForceHasSwing, ignoreFalseConditions, separator) +
ToXString("eaForceOBBarType", eaForceOBBarType, ignoreFalseConditions, separator) +
ToXString("eaMinRequiredOBBar", eaMinRequiredOBBar, ignoreFalseConditions, separator) +
ToXString("eaForceFVGBarType", eaForceFVGBarType, ignoreFalseConditions, separator) +
ToXString("eaLiquidityLoopback", eaLiquidityLoopback, ignoreFalseConditions, separator) +
ToXString("eaMaxAllowedRange", ToXString(eaMaxAllowedRange), separator) +
ToXString("eaMinAllowedRange", ToXString(eaMinAllowedRange), separator) +
ToXString("eaForceHasFLiquidity", eaForceHasFLiquidity, ignoreFalseConditions, separator) +
ToXString("eaForceHasRLiquidity", eaForceHasRLiquidity, ignoreFalseConditions, separator) +
ToXString("eaValidateGapSequence", eaValidateGapSequence, ignoreFalseConditions, separator) +
ToXString("eaMinAllowedBlockLength", eaMinAllowedBlockLength, ignoreFalseConditions, separator) +
ToXString("eaValidateBlockEdgeBreakout", eaValidateBlockEdgeBreakout, ignoreFalseConditions, separator) +
"" + separator +
"//" + separator +
"// Filtering ..." + separator +
ToString("eaFilterBasedOnKI", eaFilterBasedOnKI, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnPV", eaFilterBasedOnPV, ignoreFalseConditions, separator) +
ToString("eaBosLoopback", eaBosLoopback, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnSar", eaFilterBasedOnSar, ignoreFalseConditions, separator) +
ToString("eaForceSarSwitched", eaForceSarSwitched, ignoreFalseConditions, separator) +
ToString("eaForceSarOnBothSide", eaForceSarOnBothSide, ignoreFalseConditions, separator) +
ToString("eaForceSarHasBreakout", eaForceSarHasBreakout, ignoreFalseConditions, separator) +
ToString("eaForceSarHasReversalSide", eaForceSarHasReversalSide, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnRSI", eaFilterBasedOnRSI, ignoreFalseConditions, separator) +
ToString("eaForceHasRSITrending", eaForceHasRSITrending, ignoreFalseConditions, separator) +
ToString("eaForceHasRSIVPattern", eaForceHasRSIVPattern, ignoreFalseConditions, separator) +
ToString("eaForceHasRSICrossing", eaForceHasRSICrossing, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnADX", eaFilterBasedOnADX, ignoreFalseConditions, separator) +
ToString("eaForceHasADXTrending", eaForceHasADXTrending, ignoreFalseConditions, separator) +
ToString("eaForceHasADXCrossing", eaForceHasADXCrossing, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnATR", eaFilterBasedOnATR, ignoreFalseConditions, separator) +
ToString("eaForceHasATRTrending", eaForceHasATRTrending, ignoreFalseConditions, separator) +
ToString("eaForceHasATRBreakout", eaForceHasATRBreakout, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnTrend", eaFilterBasedOnTrend, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendDir", eaForceHasTrendDir, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendPlace", eaForceHasTrendPlace, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendChange", eaForceHasTrendChange, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendTrending", eaForceHasTrendTrending, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendRejection", eaForceHasTrendRejection, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendLineInside", eaForceHasTrendLineInside, ignoreFalseConditions, separator) +
ToString("eaForceHasTrendDirOnBothSide", eaForceHasTrendDirOnBothSide, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnDelta", eaFilterBasedOnDelta, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnVolume", eaFilterBasedOnVolume, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnSignalBar", eaFilterBasedOnSignalBar, ignoreFalseConditions, separator) +
ToString("eaFilterBasedOnHKSignalBar", eaFilterBasedOnHKSignalBar, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnKI", eaFilterBasedOnKI, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnPV", eaFilterBasedOnPV, ignoreFalseConditions, separator) +
ToXString("eaBosLoopback", eaBosLoopback, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnSar", eaFilterBasedOnSar, ignoreFalseConditions, separator) +
ToXString("eaForceSarSwitched", eaForceSarSwitched, ignoreFalseConditions, separator) +
ToXString("eaForceSarOnBothSide", eaForceSarOnBothSide, ignoreFalseConditions, separator) +
ToXString("eaForceSarHasBreakout", eaForceSarHasBreakout, ignoreFalseConditions, separator) +
ToXString("eaForceSarHasReversalSide", eaForceSarHasReversalSide, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnRSI", eaFilterBasedOnRSI, ignoreFalseConditions, separator) +
ToXString("eaForceHasRSITrending", eaForceHasRSITrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasRSIVPattern", eaForceHasRSIVPattern, ignoreFalseConditions, separator) +
ToXString("eaForceHasRSICrossing", eaForceHasRSICrossing, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnADX", eaFilterBasedOnADX, ignoreFalseConditions, separator) +
ToXString("eaForceHasADXTrending", eaForceHasADXTrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasADXCrossing", eaForceHasADXCrossing, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnATR", eaFilterBasedOnATR, ignoreFalseConditions, separator) +
ToXString("eaForceHasATRTrending", eaForceHasATRTrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasATRBreakout", eaForceHasATRBreakout, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnTrend", eaFilterBasedOnTrend, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendDir", eaForceHasTrendDir, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendPlace", eaForceHasTrendPlace, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendChange", eaForceHasTrendChange, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendTrending", eaForceHasTrendTrending, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendRejection", eaForceHasTrendRejection, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendLineInside", eaForceHasTrendLineInside, ignoreFalseConditions, separator) +
ToXString("eaForceHasTrendDirOnBothSide", eaForceHasTrendDirOnBothSide, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnDelta", eaFilterBasedOnDelta, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnVolume", eaFilterBasedOnVolume, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnSignalBar", eaFilterBasedOnSignalBar, ignoreFalseConditions, separator) +
ToXString("eaFilterBasedOnHKSignalBar", eaFilterBasedOnHKSignalBar, ignoreFalseConditions, separator) +
"" + separator +
"//" + separator +
"// Signal ..." + separator +
ToString("eaSignalR2R", eaSignalR2R, ignoreFalseConditions, separator) +
ToString("eaSLATRMultiplier", ToString(eaSLATRMultiplier), separator) +
ToString("eaAllowSignallingBasedOnConditions", eaAllowSignallingBasedOnConditions, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingBasedOnTriggerBlocks", eaAllowSignallingBasedOnTriggerBlocks, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingBasedOnTriggerBlocksInsideOther", eaAllowSignallingBasedOnTriggerBlocksInsideOther, ignoreFalseConditions, separator) +
ToString("eaSecondsTriggersSLUsingFirstTriggerBlock", eaSecondsTriggersSLUsingFirstTriggerBlock, ignoreFalseConditions, separator) +
ToString("eaApplyValidateAndFilterOnSelectInsideOthers", eaApplyValidateAndFilterOnSelectInsideOthers, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingConditions1", eaAllowSignallingConditions1, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingConditions2", eaAllowSignallingConditions2, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingConditions3", eaAllowSignallingConditions3, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingConditions4", eaAllowSignallingConditions4, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingConditions5", eaAllowSignallingConditions5, ignoreFalseConditions, separator) +
ToString("eaAllowSignallingConditions6", eaAllowSignallingConditions6, ignoreFalseConditions, separator) +
ToXString("eaSignalR2R", eaSignalR2R, ignoreFalseConditions, separator) +
ToXString("eaSLATRMultiplier", ToXString(eaSLATRMultiplier), separator) +
ToXString("eaAllowSignallingBasedOnConditions", eaAllowSignallingBasedOnConditions, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingBasedOnTriggerBlocks", eaAllowSignallingBasedOnTriggerBlocks, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingBasedOnTriggerBlocksInsideOther", eaAllowSignallingBasedOnTriggerBlocksInsideOther, ignoreFalseConditions, separator) +
ToXString("eaSecondsTriggersSLUsingFirstTriggerBlock", eaSecondsTriggersSLUsingFirstTriggerBlock, ignoreFalseConditions, separator) +
ToXString("eaApplyValidateAndFilterOnSelectInsideOthers", eaApplyValidateAndFilterOnSelectInsideOthers, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingConditions1", eaAllowSignallingConditions1, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingConditions2", eaAllowSignallingConditions2, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingConditions3", eaAllowSignallingConditions3, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingConditions4", eaAllowSignallingConditions4, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingConditions5", eaAllowSignallingConditions5, ignoreFalseConditions, separator) +
ToXString("eaAllowSignallingConditions6", eaAllowSignallingConditions6, ignoreFalseConditions, separator) +
"" + separator +
"//" + separator +
"// Volume ..." + separator +
ToString("eaVolumeSelect", ToString(eaVolumeSelect), separator) +
ToString("eaStaticVoluem", ToString(eaStaticVoluem), separator) +
ToString("eaDynamicVolumeStepBalance", ToString(eaDynamicVolumeStepBalance), separator) +
ToString("eaDynamicVolumeStepVolume", ToString(eaDynamicVolumeStepVolume), separator) +
ToString("eaConstantRiskBalance", ToString(eaConstantRiskBalance), separator) +
ToString("eaConstantPercent", ToString(eaConstantPercent), separator) +
ToString("eaConstantBalance", ToString(eaConstantBalance), separator) +
ToXString("eaVolumeSelect", ToXString(eaVolumeSelect), separator) +
ToXString("eaStaticVoluem", ToXString(eaStaticVoluem), separator) +
ToXString("eaDynamicVolumeStepBalance", ToXString(eaDynamicVolumeStepBalance), separator) +
ToXString("eaDynamicVolumeStepVolume", ToXString(eaDynamicVolumeStepVolume), separator) +
ToXString("eaConstantRiskBalance", ToXString(eaConstantRiskBalance), separator) +
ToXString("eaConstantPercent", ToXString(eaConstantPercent), separator) +
ToXString("eaConstantBalance", ToXString(eaConstantBalance), separator) +
"" + separator +
"//" + separator +
"// Management ..." + separator +
ToString("eaSymbols", eaSymbols, separator) +
ToString("eaAllowGuards", eaAllowGuards, ignoreFalseConditions, separator) +
ToString("eaAllowTrade", eaAllowTrade, ignoreFalseConditions, separator) +
ToString("eaAllowLongs", eaAllowLongs, ignoreFalseConditions, separator) +
ToString("eaAllowShorts", eaAllowShorts, ignoreFalseConditions, separator) +
ToString("eaSessions", eaSessions, separator) +
ToString("eaRestrictionsPeriod", ToString(eaRestrictionsPeriod), separator) +
ToString("eaMaxAllowedTPs", eaMaxAllowedTPs, ignoreFalseConditions, separator) +
ToString("eaMaxAllowedSLs", eaMaxAllowedSLs, ignoreFalseConditions, separator) +
ToString("eaMaxAllowedTrades", eaMaxAllowedTrades, ignoreFalseConditions, separator) +
ToString("eaMaxAllowedPositions", eaMaxAllowedPositions, ignoreFalseConditions, separator) +
ToString("eaMaxAllowedSpread", ToString(eaMaxAllowedSpread), separator) +
ToString("eaMaxAllowedDrawdownFactor", ToString(eaMaxAllowedDrawdownFactor), separator) +
ToString("eaCloseAllOpenTradesAt", eaCloseAllOpenTradesAt, separator) +
ToXString("eaSymbols", eaSymbols, separator) +
ToXString("eaAllowGuards", eaAllowGuards, ignoreFalseConditions, separator) +
ToXString("eaAllowTrade", eaAllowTrade, ignoreFalseConditions, separator) +
ToXString("eaAllowLongs", eaAllowLongs, ignoreFalseConditions, separator) +
ToXString("eaAllowShorts", eaAllowShorts, ignoreFalseConditions, separator) +
ToXString("eaSessions", eaSessions, separator) +
ToXString("eaRestrictionsPeriod", ToXString(eaRestrictionsPeriod), separator) +
ToXString("eaMaxAllowedTPs", eaMaxAllowedTPs, ignoreFalseConditions, separator) +
ToXString("eaMaxAllowedSLs", eaMaxAllowedSLs, ignoreFalseConditions, separator) +
ToXString("eaMaxAllowedTrades", eaMaxAllowedTrades, ignoreFalseConditions, separator) +
ToXString("eaMaxAllowedPositions", eaMaxAllowedPositions, ignoreFalseConditions, separator) +
ToXString("eaMaxAllowedSpread", ToXString(eaMaxAllowedSpread), separator) +
ToXString("eaMaxAllowedDrawdownFactor", ToXString(eaMaxAllowedDrawdownFactor), separator) +
ToXString("eaCloseAllOpenTradesAt", eaCloseAllOpenTradesAt, separator) +
"" + separator +
"//" + separator +
"// Alert ..." + separator +
ToString("eaEnableAlerts", eaEnableAlerts, ignoreFalseConditions, separator) +
ToString("eaSaveAlerts", eaSaveAlerts, ignoreFalseConditions, separator) +
ToString("eaLogAlerts", eaLogAlerts, ignoreFalseConditions, separator) +
ToString("eaMailAlerts", eaMailAlerts, ignoreFalseConditions, separator) +
ToString("eaPushAlerts", eaPushAlerts, ignoreFalseConditions, separator) +
ToString("eaTerminalAlerts", eaTerminalAlerts, ignoreFalseConditions, separator) +
ToXString("eaEnableAlerts", eaEnableAlerts, ignoreFalseConditions, separator) +
ToXString("eaSaveAlerts", eaSaveAlerts, ignoreFalseConditions, separator) +
ToXString("eaLogAlerts", eaLogAlerts, ignoreFalseConditions, separator) +
ToXString("eaMailAlerts", eaMailAlerts, ignoreFalseConditions, separator) +
ToXString("eaPushAlerts", eaPushAlerts, ignoreFalseConditions, separator) +
ToXString("eaTerminalAlerts", eaTerminalAlerts, ignoreFalseConditions, separator) +
"" + separator +
"//" + separator +
"// Time Report ..." + separator +
ToString("eaReportNewMonths", eaReportNewMonths, ignoreFalseConditions, separator) +
ToString("eaReportNewWeeks", eaReportNewWeeks, ignoreFalseConditions, separator) +
ToString("eaReportNewDays", eaReportNewDays, ignoreFalseConditions, separator) +
ToString("eaReportNewHours", eaReportNewHours, ignoreFalseConditions, separator) +
ToString("eaReportTrades", eaReportTrades, ignoreFalseConditions, separator) +
ToString("eaReportSignals", eaReportSignals, ignoreFalseConditions, separator) +
ToString("eaReportProtector", eaReportProtector, ignoreFalseConditions, separator) +
ToString("eaReportRestrictions", eaReportRestrictions, ignoreFalseConditions, separator) +
ToString("eaReportAfterTradesBalance", eaReportAfterTradesBalance, ignoreFalseConditions, separator) +
ToXString("eaReportNewMonths", eaReportNewMonths, ignoreFalseConditions, separator) +
ToXString("eaReportNewWeeks", eaReportNewWeeks, ignoreFalseConditions, separator) +
ToXString("eaReportNewDays", eaReportNewDays, ignoreFalseConditions, separator) +
ToXString("eaReportNewHours", eaReportNewHours, ignoreFalseConditions, separator) +
ToXString("eaReportTrades", eaReportTrades, ignoreFalseConditions, separator) +
ToXString("eaReportSignals", eaReportSignals, ignoreFalseConditions, separator) +
ToXString("eaReportProtector", eaReportProtector, ignoreFalseConditions, separator) +
ToXString("eaReportRestrictions", eaReportRestrictions, ignoreFalseConditions, separator) +
ToXString("eaReportAfterTradesBalance", eaReportAfterTradesBalance, ignoreFalseConditions, separator) +
"" + separator +
"//" + separator +
"// Collector ..." + separator +
ToString("eaSaveTrades", eaSaveTrades, ignoreFalseConditions, separator) +
ToString("eaSaveSignals", eaSaveSignals, ignoreFalseConditions, separator) +
ToString("eaSaveWins", eaSaveWins, ignoreFalseConditions, separator) +
ToString("eaSaveLosts", eaSaveLosts, ignoreFalseConditions, separator) +
ToString("eaSaveRestrictions", eaSaveRestrictions, ignoreFalseConditions, separator) +
ToXString("eaSaveTrades", eaSaveTrades, ignoreFalseConditions, separator) +
ToXString("eaSaveSignals", eaSaveSignals, ignoreFalseConditions, separator) +
ToXString("eaSaveWins", eaSaveWins, ignoreFalseConditions, separator) +
ToXString("eaSaveLosts", eaSaveLosts, ignoreFalseConditions, separator) +
ToXString("eaSaveRestrictions", eaSaveRestrictions, ignoreFalseConditions, separator) +
//
""
//
+3 -3
View File
@@ -148,9 +148,9 @@ struct XCATBEASignallerInputs
//
result =
IsValid(symbol) &&
IsValid(period) &&
IsValid(provider) &&
IsSpecifiedValid(symbol) &&
IsSpecifiedValid(period) &&
IsSpecifiedValid(provider) &&
catbInputs.IsValid() &&
riskToRewardRatio > 0;
@@ -53,6 +53,10 @@ bool IsValid(ENUM_XCATB_PIVOTS value)
//
return result;
}
bool IsSpecifiedValid(ENUM_XCATB_PIVOTS value)
{
return IsValid(value);
}
//
string ToString(ENUM_XCATB_PIVOTS value)
@@ -66,6 +70,10 @@ string ToString(ENUM_XCATB_PIVOTS value)
//
return result;
}
string ToXString(ENUM_XCATB_PIVOTS value)
{
return ToString(value);
}
//
ENUM_X_DIRECTION GetDirection(ENUM_XCATB_PIVOTS value)
@@ -225,7 +233,7 @@ struct XCATBPivot
type = XCATB_NONE;
//
Clean(values);
SpecifiedClean(values);
//
ZeroMemory(this);
@@ -245,11 +253,11 @@ struct XCATBPivot
result =
from < to &&
value != 0 &&
IsValid(to) &&
IsValid(from) &&
IsValid(type) &&
IsValid(symbol) &&
IsValid(period);
IsSpecifiedValid(to) &&
IsSpecifiedValid(from) &&
IsSpecifiedValid(type) &&
IsSpecifiedValid(symbol) &&
IsSpecifiedValid(period);
//
return result;
@@ -310,7 +318,7 @@ struct XCATBPivot
}
//
if (!IsValid(forPeriod))
if (!IsSpecifiedValid(forPeriod))
{
forPeriod = period;
}
@@ -347,7 +355,7 @@ struct XCATBPivot
}
//
if (!IsValid(forPeriod))
if (!IsSpecifiedValid(forPeriod))
{
forPeriod = period;
}
@@ -384,7 +392,7 @@ struct XCATBPivot
}
//
if (!IsValid(forPeriod))
if (!IsSpecifiedValid(forPeriod))
{
forPeriod = period;
}
@@ -54,6 +54,10 @@ string ToString(ENUM_XCATBEA_TRADE_RESTRICTION_PERIOD value)
//
return result;
}
string ToXString(ENUM_XCATBEA_TRADE_RESTRICTION_PERIOD value)
{
return ToString(value);
}
//
enum ENUM_XCATBEA_TRADE_FINALIZATION
@@ -77,6 +81,10 @@ string ToString(ENUM_XCATBEA_TRADE_FINALIZATION value)
//
return result;
}
string ToXString(ENUM_XCATBEA_TRADE_FINALIZATION value)
{
return ToString(value);
}
//
// Position Selecting ...
@@ -129,12 +137,20 @@ bool IsValid(ENUM_XCATBEA_POSITION_SELECT_TYPES value)
{
return value != XCATBEA_POSITION_SELECT_NONE;
}
bool IsSpecifiedValid(ENUM_XCATBEA_POSITION_SELECT_TYPES value)
{
return IsValid(value);
}
//
string ToString(ENUM_XCATBEA_POSITION_SELECT_TYPES value)
{
return EnumToString(value);
}
string ToXString(ENUM_XCATBEA_POSITION_SELECT_TYPES value)
{
return ToString(value);
}
/**
* Select Specified Position's Related Position(s)
@@ -1016,7 +1032,7 @@ struct XCATBEASymbolInfo
bool result = false;
//
result = IsValid(symbol);
result = IsSpecifiedValid(symbol);
//
return result;
@@ -1057,15 +1073,15 @@ struct XCATBEASymbolInfo
"-------------------" + "\n" +
"Restrictions: " + "\n" +
"-------------------" + "\n" +
"Symbol: " + ToString(symbol) + "\n" +
"Period: " + ToString(period) + "\n" +
"Symbol: " + ToXString(symbol) + "\n" +
"Period: " + ToXString(period) + "\n" +
"Start: " + ToFormatString(managedStart) + "\n" +
"Balance: " + ToString(managedBalance) + "\n" +
"Balance: " + ToXString(managedBalance) + "\n" +
"-------------------" + "\n" +
"Trades: " + ToString(managedTrades) + "\n" +
"SL: " + ToString(managedSLs) + "\n" +
"TP: " + ToString(managedTPs) + "\n" +
"Profit: " + ToString(managedProfits) + "\n" +
"Trades: " + ToXString(managedTrades) + "\n" +
"SL: " + ToXString(managedSLs) + "\n" +
"TP: " + ToXString(managedTPs) + "\n" +
"Profit: " + ToXString(managedProfits) + "\n" +
"";
//
@@ -1113,8 +1129,8 @@ struct XCATBEATradeSession
bool result = false;
//
result = IsValid(start) &&
IsValid(end);
result = IsSpecifiedValid(start) &&
IsSpecifiedValid(end);
if (!result)
{
return result;
@@ -1178,7 +1194,7 @@ struct XCATBEASymbolSession
{
//
symbol = NULL;
Clean(sessions);
SpecifiedClean(sessions);
//
ZeroMemory(this);
@@ -1192,7 +1208,7 @@ struct XCATBEASymbolSession
bool result = false;
//
result = IsValid(symbol);
result = IsSpecifiedValid(symbol);
//
return result;
@@ -1363,15 +1379,15 @@ struct XCATBEATrade
//
result =
//
ToString("Swap", swap) +
ToString("Profit", profit) +
ToString("Commission", commission) +
ToString("Finalize", ToString(finalize)) +
ToString("PositionID", positionID) +
ToString("----------------") + "\n" +
ToString("Signaled At", ToFormatString(signaledAt)) +
ToString("Executed At", ToFormatString(executedAt)) +
ToString("Finalized At", ToFormatString(finalizedAt))
ToXString("Swap", swap) +
ToXString("Profit", profit) +
ToXString("Commission", commission) +
ToXString("Finalize", ToXString(finalize)) +
ToXString("PositionID", positionID) +
ToXString("----------------") + "\n" +
ToXString("Signaled At", ToFormatString(signaledAt)) +
ToXString("Executed At", ToFormatString(executedAt)) +
ToXString("Finalized At", ToFormatString(finalizedAt))
//
;
@@ -1454,9 +1470,9 @@ struct XCATBEATrade
{
//
result +=
ToString("----------------") + "\n" +
ToString("Summary: ") + "\n" +
ToString("----------------") + "\n" +
ToXString("----------------") + "\n" +
ToXString("Summary: ") + "\n" +
ToXString("----------------") + "\n" +
summary + "\n";
}
@@ -1465,9 +1481,9 @@ struct XCATBEATrade
{
//
result +=
ToString("----------------") + "\n" +
ToString("Signal: ") + "\n" +
ToString("----------------") + "\n" +
ToXString("----------------") + "\n" +
ToXString("Signal: ") + "\n" +
ToXString("----------------") + "\n" +
signalSummary + "\n";
}
@@ -1476,9 +1492,9 @@ struct XCATBEATrade
{
//
result +=
ToString("----------------") + "\n" +
ToString("Conditions: ") + "\n" +
ToString("----------------") + "\n" +
ToXString("----------------") + "\n" +
ToXString("Conditions: ") + "\n" +
ToXString("----------------") + "\n" +
conditionsSummary + "\n";
}
@@ -1560,7 +1576,7 @@ struct XCATBEATrade
}
}
}
Clean(condParts);
SpecifiedClean(condParts);
}
else
{
@@ -1570,19 +1586,19 @@ struct XCATBEATrade
//
result =
"(" + "\n" +
"\\" + "\\" + " " + ToString("Type", ToString(signal.type)) +
"\\" + "\\" + " " + ToString("Profit", profit) +
"\\" + "\\" + " " + ToString("Finalize", ToString(finalize)) +
"\\" + "\\" + " " + ToString("PositionID", positionID) +
"\\" + "\\" + " " + ToString("----------------") + "\n" +
"\\" + "\\" + " " + ToString("Signaled At", ToFormatString(signaledAt)) +
"\\" + "\\" + " " + ToString("Executed At", ToFormatString(executedAt)) +
"\\" + "\\" + " " + ToString("Finalized At", ToFormatString(finalizedAt)) +
"\\" + "\\" + " " + ToString("----------------") + "\n" +
"\\" + "\\" + " " + ToString("Scores:") + "\n" +
"\\" + "\\" + " " + ToString("Bullish", bullishScore) +
"\\" + "\\" + " " + ToString("Bearish", bearishScore) +
"\\" + "\\" + " " + ToString("----------------") + "\n" +
"\\" + "\\" + " " + ToXString("Type", ToXString(signal.type)) +
"\\" + "\\" + " " + ToXString("Profit", profit) +
"\\" + "\\" + " " + ToXString("Finalize", ToXString(finalize)) +
"\\" + "\\" + " " + ToXString("PositionID", positionID) +
"\\" + "\\" + " " + ToXString("----------------") + "\n" +
"\\" + "\\" + " " + ToXString("Signaled At", ToFormatString(signaledAt)) +
"\\" + "\\" + " " + ToXString("Executed At", ToFormatString(executedAt)) +
"\\" + "\\" + " " + ToXString("Finalized At", ToFormatString(finalizedAt)) +
"\\" + "\\" + " " + ToXString("----------------") + "\n" +
"\\" + "\\" + " " + ToXString("Scores:") + "\n" +
"\\" + "\\" + " " + ToXString("Bullish", bullishScore) +
"\\" + "\\" + " " + ToXString("Bearish", bearishScore) +
"\\" + "\\" + " " + ToXString("----------------") + "\n" +
conditionsStr +
(IsValid(conditionsStr) ? "" : "") +
") && ";
@@ -2206,12 +2222,12 @@ class XCXCATBEATradeManager : public XCBase
//
string message = prefix +
ToString(iPosition.type) +
ToXString(iPosition.type) +
" Position: " +
ToString(iPosition.ticket) +
ToXString(iPosition.ticket) +
(isRFDone ? " RF" : "") +
(isPCDone ? " PC" : "") +
" On Traget: " + ToString(jTarget.target) +
" On Traget: " + ToXString(jTarget.target) +
" Successfully ...";
HandleReportProtector(message);
}
@@ -2655,7 +2671,7 @@ class XCXCATBEATradeManager : public XCBase
//
// Handle Balance Reporting ...
string prefix = "TP: " + ToString(trades[idx].profit);
string prefix = "TP: " + ToXString(trades[idx].profit);
HandleReportBalance(prefix);
//
@@ -2709,7 +2725,7 @@ class XCXCATBEATradeManager : public XCBase
//
// Handle Balance Reporting ...
string prefix = "SL: " + ToString(trades[idx].profit);
string prefix = "SL: " + ToXString(trades[idx].profit);
HandleReportBalance(prefix);
//
@@ -2803,7 +2819,7 @@ class XCXCATBEATradeManager : public XCBase
? "Profit"
: "Loss") +
": " +
ToString(trades[idx].profit);
ToXString(trades[idx].profit);
HandleReportBalance(prefix);
//
@@ -2850,7 +2866,7 @@ class XCXCATBEATradeManager : public XCBase
{
//
// Handle Balance Reporting ...
string prefix = "Partially Closed: " + ToString(ticket);
string prefix = "Partially Closed: " + ToXString(ticket);
//
// Handle Balance Reporting ...
@@ -2887,7 +2903,7 @@ class XCXCATBEATradeManager : public XCBase
if (result)
{
//
string message = prefix + "Force Close (" + ToString(closedsCount) + ") Trades at Specified Time ...";
string message = prefix + "Force Close (" + ToXString(closedsCount) + ") Trades at Specified Time ...";
HandleReportProtector(message);
}
@@ -3100,7 +3116,7 @@ class XCXCATBEATradeManager : public XCBase
result = collector
.GetFilePath("Conditions" + "\\" +
trade.signal.symbol + "\\" +
ToString(trade.signal.period) + "_wins");
ToXString(trade.signal.period) + "_wins");
//
return result;
@@ -3116,7 +3132,7 @@ class XCXCATBEATradeManager : public XCBase
result = collector
.GetFilePath("Conditions" + "\\" +
trade.signal.symbol + "\\" +
ToString(trade.signal.period) + "_losts");
ToXString(trade.signal.period) + "_losts");
//
return result;
@@ -3160,7 +3176,7 @@ class XCXCATBEATradeManager : public XCBase
(IsValid(prefix)
? prefix + " | "
: "") +
"Account Balance: " + ToString(balance) + currency;
"Account Balance: " + ToXString(balance) + currency;
alert.SendAlert(message);
}
@@ -3263,14 +3279,14 @@ class XCXCATBEATradeManager : public XCBase
// Generate Content ...
string content = "";
content +=
ToString("----------------") + "\n" +
ToString("Signal: ") + "\n" +
ToString("----------------") + "\n" +
ToXString("----------------") + "\n" +
ToXString("Signal: ") + "\n" +
ToXString("----------------") + "\n" +
signal.ToString() + "\n";
content +=
ToString("----------------") + "\n" +
ToString("Conditions: ") + "\n" +
ToString("----------------") + "\n" +
ToXString("----------------") + "\n" +
ToXString("Conditions: ") + "\n" +
ToXString("----------------") + "\n" +
signal.conditions + "\n";
//
+6 -6
View File
@@ -103,7 +103,7 @@ struct XCATBEAStrategyConditions
triggerTime = NULL;
//
Clean(targets);
SpecifiedClean(targets);
//
pivotZone.Clean();
@@ -214,7 +214,7 @@ struct XCATBEAStrategyConditions
bool result = false;
//
result = IsValid(setupTime) &&
result = IsSpecifiedValid(setupTime) &&
HasDirection(dir);
if (!result)
{
@@ -262,9 +262,9 @@ struct XCATBEAStrategyConditions
result =
//
sl > 0 &&
IsValid(symbol) &&
IsValid(period) &&
IsValid(triggerTime) &&
IsSpecifiedValid(symbol) &&
IsSpecifiedValid(period) &&
IsSpecifiedValid(triggerTime) &&
type != X_POSITION_TYPE_ALL &&
type != X_POSITION_TYPE_NONE
//
@@ -1461,7 +1461,7 @@ bool DetectSignalZone(
isBullish
? clrAqua
: clrMagenta;
string iName = signalZone.type + "_Conditions_" + ToString(iDir) + "_" + ToString(((int)conditions.time));
string iName = signalZone.type + "_Conditions_" + ToXString(iDir) + "_" + ToXString(((int)conditions.time));
//
CChartObjectVLine *iObj = new CChartObjectVLine();