diff --git a/Classes/x-saherelm.base.class.mq5 b/Classes/x-saherelm.base.class.mq5 index 0e7557f0..a017ec3c 100644 --- a/Classes/x-saherelm.base.class.mq5 +++ b/Classes/x-saherelm.base.class.mq5 @@ -80,14 +80,14 @@ string GenerateSpecifiedCommonSummary( : "Commons:" + separator) + "---------------" + separator + "Symbol: " + mItem.symbol + separator + - "Period: " + ToString(mItem.period) + separator + - "Time: " + ToString(mItem.time) + separator + + "Period: " + ToXString(mItem.period) + separator + + "Time: " + ToXString(mItem.time) + separator + (includeScores ? "---------------" + separator + "Scores:" + separator + "---------------" + separator + - "Bullish: " + ToString(bullishScore) + separator + - "Bearish: " + ToString(bearishScore) + separator + + "Bullish: " + ToXString(bullishScore) + separator + + "Bearish: " + ToXString(bearishScore) + separator + "---------------" + separator : "") + "" diff --git a/Classes/x-saherelm.x-alert.class.mq5 b/Classes/x-saherelm.x-alert.class.mq5 index 914d8bf1..4c06900e 100644 --- a/Classes/x-saherelm.x-alert.class.mq5 +++ b/Classes/x-saherelm.x-alert.class.mq5 @@ -1388,7 +1388,7 @@ class XCAlert : public XCBase // // Attach Time ... - string savedMessage = ToString(TimeCurrent()) + " " + message; + string savedMessage = ToXString(TimeCurrent()) + " " + message; // bool has = collector.Append( diff --git a/Classes/x-saherelm.x-cobject.class.mq5 b/Classes/x-saherelm.x-cobject.class.mq5 index b3d418ba..88467264 100644 --- a/Classes/x-saherelm.x-cobject.class.mq5 +++ b/Classes/x-saherelm.x-cobject.class.mq5 @@ -616,7 +616,7 @@ class XCSignalObject : public XCBaseObject for (int i = 0; i < targetsCount; i++) { // - string targetName = ToString(X_TARGET) + "_" + ToString(i) + "_" + nameMD5; + string targetName = ToString(X_TARGET) + "_" + ToXString(i) + "_" + nameMD5; CChartObjectTrend *mTargetTrend; mTargetTrend = new CChartObjectTrend(); result = mTargetTrend.Create( diff --git a/Classes/x-saherelm.x-guard.class.mq5 b/Classes/x-saherelm.x-guard.class.mq5 index eddbf3ae..91ef6b57 100644 --- a/Classes/x-saherelm.x-guard.class.mq5 +++ b/Classes/x-saherelm.x-guard.class.mq5 @@ -139,11 +139,11 @@ struct XGuard // result = // - IsValid(time) && - IsValid(symbol) && - IsValid(period) && - IsValid(action) && - IsValid(provider) + IsSpecifiedValid(time) && + IsSpecifiedValid(symbol) && + IsSpecifiedValid(period) && + IsSpecifiedValid(action) && + IsSpecifiedValid(provider) // ; @@ -175,6 +175,10 @@ bool IsValid(ENUM_X_GUARD_ACTIONS item) // return result; } +bool IsSpecifiedValid(ENUM_X_GUARD_ACTIONS item) +{ + return IsValid(item); +} /** * Add Guard to Collection ... @@ -1004,8 +1008,8 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(position.type) + - " Position (" + ToString(position.ticket) + ") Successfully ..."; + ToXString(position.type) + + " Position (" + ToXString(position.ticket) + ") Successfully ..."; // alert.SendAlert(message); @@ -1069,7 +1073,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " Positions Successfully ..."; // @@ -1134,7 +1138,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " In Lost Positions Successfully ..."; // @@ -1199,7 +1203,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " In Profit Positions Successfully ..."; // @@ -1264,7 +1268,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " Long Positions Successfully ..."; // @@ -1329,7 +1333,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " In Lost Longs Positions Successfully ..."; // @@ -1394,7 +1398,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " In Profit Longs Positions Successfully ..."; // @@ -1476,7 +1480,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " In Lost Shorts Positions Successfully ..."; // @@ -1541,7 +1545,7 @@ class XCGuard : public XCBase // string message = "Guard Closed " + - ToString(count) + + ToXString(count) + " In Profit Shorts Positions Successfully ..."; // @@ -1619,7 +1623,7 @@ class XCGuard : public XCBase ); // - string comment = "Guard Partially Closed: " + ToString(volume) + " ..."; + string comment = "Guard Partially Closed: " + ToXString(volume) + " ..."; // has = trader.ClosePartial( @@ -1632,9 +1636,9 @@ class XCGuard : public XCBase // string message = "Guard Closed Partially " + - ToString(volume) + " of " + - ToString(position.type) + - " Position (" + ToString(position.ticket) + ") Successfully ..."; + ToXString(volume) + " of " + + ToXString(position.type) + + " Position (" + ToXString(position.ticket) + ") Successfully ..."; // alert.SendAlert(message); @@ -1739,10 +1743,10 @@ class XCGuard : public XCBase // string message = "Guard Trail Stop " + - ToString(position.type) + - " Position (" + ToString(position.ticket) + ")" + - " From: " + ToString(before) + - "To: " + ToString(after) + + ToXString(position.type) + + " Position (" + ToXString(position.ticket) + ")" + + " From: " + ToXString(before) + + "To: " + ToXString(after) + " Successfully ..."; // @@ -1844,10 +1848,10 @@ class XCGuard : public XCBase // string message = "Guard Trail Target " + - ToString(position.type) + - " Position (" + ToString(position.ticket) + ")" + - " From: " + ToString(before) + - "To: " + ToString(after) + + ToXString(position.type) + + " Position (" + ToXString(position.ticket) + ")" + + " From: " + ToXString(before) + + "To: " + ToXString(after) + " Successfully ..."; // @@ -1980,9 +1984,9 @@ class XCGuard : public XCBase // string message = "Guard Hedge " + - ToString(closedCount) + + ToXString(closedCount) + " Positions by: " + - ToString(hedgeValue) + + ToXString(hedgeValue) + " Successfully ..."; // diff --git a/Classes/x-saherelm.x-helper.class.mq5 b/Classes/x-saherelm.x-helper.class.mq5 index 945ba69d..d1afd902 100644 --- a/Classes/x-saherelm.x-helper.class.mq5 +++ b/Classes/x-saherelm.x-helper.class.mq5 @@ -111,7 +111,7 @@ class XCBaseHelper : public XCBase GetToken() + "[" + GetSymbol() + "|" + - ToString(GetPeriod()) + + ToXString(GetPeriod()) + "]" // ; diff --git a/Classes/x-saherelm.x-poi.drawer.class.mq5 b/Classes/x-saherelm.x-poi.drawer.class.mq5 index 86206358..cd3c458c 100644 --- a/Classes/x-saherelm.x-poi.drawer.class.mq5 +++ b/Classes/x-saherelm.x-poi.drawer.class.mq5 @@ -625,8 +625,8 @@ class XCPOIDrawer : public XCBase { // name = "XBox_" + - ToString(upper) + "_" + - ToString(lower) + "_" + + ToXString(upper) + "_" + + ToXString(lower) + "_" + dateMD5; } diff --git a/Classes/x-saherelm.x-rm.panel.class.mq5 b/Classes/x-saherelm.x-rm.panel.class.mq5 index d3808dc5..b8132b95 100644 --- a/Classes/x-saherelm.x-rm.panel.class.mq5 +++ b/Classes/x-saherelm.x-rm.panel.class.mq5 @@ -1108,21 +1108,21 @@ class XCRMPanel : public XCAppDialog volume = NormalizeVolume(volume, _Symbol); // - string slDesc = "SL: " + ToString(sl) + - ", Risk: " + ToString(riskPoints) + " pt (" + ToString(riskPercent) + "%)" + - ", Amount: " + ToString(riskAmount) + currency; + string slDesc = "SL: " + ToXString(sl) + + ", Risk: " + ToXString(riskPoints) + " pt (" + ToXString(riskPercent) + "%)" + + ", Amount: " + ToXString(riskAmount) + currency; slLine.Tooltip(slDesc); slLine.Description(slDesc); // - string tpDesc = "TP: " + ToString(tp) + " (" + ToString(rewardAmount) + " " + currency + ")" + - ", R2R: 1:" + ToString(riskRewardRatio); + string tpDesc = "TP: " + ToXString(tp) + " (" + ToXString(rewardAmount) + " " + currency + ")" + + ", R2R: 1:" + ToXString(riskRewardRatio); tpLine.Tooltip(tpDesc); tpLine.Description(tpDesc); // - string entryDesc = "Entry: " + ToString(entry) + - ", Volume: " + ToString(volume); + string entryDesc = "Entry: " + ToXString(entry) + + ", Volume: " + ToXString(volume); entryLine.Tooltip(entryDesc); entryLine.Description(entryDesc); diff --git a/Helpers/x-saherelm.x121.xcatb.helper.mq5 b/Helpers/x-saherelm.x121.xcatb.helper.mq5 index 2bff8198..c0b833bb 100644 --- a/Helpers/x-saherelm.x121.xcatb.helper.mq5 +++ b/Helpers/x-saherelm.x121.xcatb.helper.mq5 @@ -239,13 +239,13 @@ struct X121XCatbInputs // result = // - IsValid(appliedCycle) && + IsSpecifiedValid(appliedCycle) && // // CYCLES ... - (IsValid(scMethod, scPeriod) && - IsValid(mcMethod, mcPeriod) && - IsValid(lcMethod, lcPeriod) && - IsValid(hcMethod, hcPeriod)) + (IsSpecifiedValid(scMethod, scPeriod) && + IsSpecifiedValid(mcMethod, mcPeriod) && + IsSpecifiedValid(lcMethod, lcPeriod) && + IsSpecifiedValid(hcMethod, hcPeriod)) // ; @@ -524,46 +524,46 @@ struct X121XCatbConditions // Buffers ... // - Clean(bars); - Clean(kiBuffer); - Clean(sarBuffer); - Clean(atrBuffer); - Clean(rsiBuffer); - Clean(adxBuffer); - Clean(sHHBuffer); - Clean(sLLBuffer); - Clean(mHHBuffer); - Clean(mLLBuffer); - Clean(lHHBuffer); - Clean(lLLBuffer); - Clean(hHHBuffer); - Clean(hLLBuffer); - Clean(adxpBuffer); - Clean(adxnBuffer); - Clean(peakBuffer); - Clean(valeBuffer); - Clean(deltaBuffer); - Clean(trendBuffer); - Clean(hkLowBuffer); - Clean(hkOpenBuffer); - Clean(hkHighBuffer); - Clean(hkCloseBuffer); - Clean(kiStateBuffer); - Clean(sarStateBuffer); - Clean(atrUpperBuffer); - Clean(atrLowerBuffer); - Clean(sBarOpenBuffer); - Clean(sBarCloseBuffer); - Clean(trendStateBuffer); - Clean(hkSBarOpenBuffer); - Clean(peakGoldenBuffer); - Clean(valeGoldenBuffer); - Clean(hkSBarCloseBuffer); - Clean(deltaSignalBuffer); - Clean(bullishVolumeBuffer); - Clean(bearishVolumeBuffer); - Clean(bullishVolumeSignalBuffer); - Clean(bearishVolumeSignalBuffer); + SpecifiedClean(bars); + SpecifiedClean(kiBuffer); + SpecifiedClean(sarBuffer); + SpecifiedClean(atrBuffer); + SpecifiedClean(rsiBuffer); + SpecifiedClean(adxBuffer); + SpecifiedClean(sHHBuffer); + SpecifiedClean(sLLBuffer); + SpecifiedClean(mHHBuffer); + SpecifiedClean(mLLBuffer); + SpecifiedClean(lHHBuffer); + SpecifiedClean(lLLBuffer); + SpecifiedClean(hHHBuffer); + SpecifiedClean(hLLBuffer); + SpecifiedClean(adxpBuffer); + SpecifiedClean(adxnBuffer); + SpecifiedClean(peakBuffer); + SpecifiedClean(valeBuffer); + SpecifiedClean(deltaBuffer); + SpecifiedClean(trendBuffer); + SpecifiedClean(hkLowBuffer); + SpecifiedClean(hkOpenBuffer); + SpecifiedClean(hkHighBuffer); + SpecifiedClean(hkCloseBuffer); + SpecifiedClean(kiStateBuffer); + SpecifiedClean(sarStateBuffer); + SpecifiedClean(atrUpperBuffer); + SpecifiedClean(atrLowerBuffer); + SpecifiedClean(sBarOpenBuffer); + SpecifiedClean(sBarCloseBuffer); + SpecifiedClean(trendStateBuffer); + SpecifiedClean(hkSBarOpenBuffer); + SpecifiedClean(peakGoldenBuffer); + SpecifiedClean(valeGoldenBuffer); + SpecifiedClean(hkSBarCloseBuffer); + SpecifiedClean(deltaSignalBuffer); + SpecifiedClean(bullishVolumeBuffer); + SpecifiedClean(bearishVolumeBuffer); + SpecifiedClean(bullishVolumeSignalBuffer); + SpecifiedClean(bearishVolumeSignalBuffer); // ArraySetAsSeries(bars, true); @@ -1175,8 +1175,8 @@ struct X121XCatbConditions // "Scores: " + separator + "---------------" + separator + - "Bullish: " + ToString(bullishScore) + separator + - "Bearish: " + ToString(bearishScore) + separator + + "Bullish: " + ToXString(bullishScore) + separator + + "Bearish: " + ToXString(bearishScore) + separator + "" // ; @@ -1199,115 +1199,115 @@ struct X121XCatbConditions "-----------------------" + separator + "ATR Band: " + separator + "-----------------------" + separator + - ToString("isATRUp", isATRUp, ignoreFalseConditions, separator) + - ToString("isATRDown", isATRDown, ignoreFalseConditions, separator) + - ToString("isClosedOverATRUpper", isClosedOverATRUpper, ignoreFalseConditions, separator) + - ToString("isClosedUnderATRLower", isClosedUnderATRLower, ignoreFalseConditions, separator) + + ToXString("isATRUp", isATRUp, ignoreFalseConditions, separator) + + ToXString("isATRDown", isATRDown, ignoreFalseConditions, separator) + + ToXString("isClosedOverATRUpper", isClosedOverATRUpper, ignoreFalseConditions, separator) + + ToXString("isClosedUnderATRLower", isClosedUnderATRLower, ignoreFalseConditions, separator) + // "-----------------------" + separator + "KI: " + separator + "-----------------------" + separator + - ToString("isKIUp", isKIUp, ignoreFalseConditions, separator) + - ToString("isKIDown", isKIDown, ignoreFalseConditions, separator) + - ToString("isKIBullish", isKIBullish, ignoreFalseConditions, separator) + - ToString("isKIBearish", isKIBearish, ignoreFalseConditions, separator) + - ToString("isKISameAsLast", isKISameAsLast, ignoreFalseConditions, separator) + - ToString("isKISwitchedToBullish", isKISwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isKISwitchedToBearish", isKISwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isKIUp", isKIUp, ignoreFalseConditions, separator) + + ToXString("isKIDown", isKIDown, ignoreFalseConditions, separator) + + ToXString("isKIBullish", isKIBullish, ignoreFalseConditions, separator) + + ToXString("isKIBearish", isKIBearish, ignoreFalseConditions, separator) + + ToXString("isKISameAsLast", isKISameAsLast, ignoreFalseConditions, separator) + + ToXString("isKISwitchedToBullish", isKISwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isKISwitchedToBearish", isKISwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "SAR: " + separator + "-----------------------" + separator + - ToString("isSarBullish", isSarBullish, ignoreFalseConditions, separator) + - ToString("isSarBearish", isSarBearish, ignoreFalseConditions, separator) + - ToString("isSarSwitchedToBullish", isSarSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isSarBullish", isSarBullish, ignoreFalseConditions, separator) + + ToXString("isSarBearish", isSarBearish, ignoreFalseConditions, separator) + + ToXString("isSarSwitchedToBullish", isSarSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "ADX: " + separator + "-----------------------" + separator + - ToString("isADXBiggerLast", isADXBiggerLast, ignoreFalseConditions, separator) + - ToString("isADXLesserLast", isADXLesserLast, ignoreFalseConditions, separator) + - ToString("isADXOverThreshold", isADXOverThreshold, ignoreFalseConditions, separator) + - ToString("isADXUnderThreshold", isADXUnderThreshold, ignoreFalseConditions, separator) + - ToString("isDXPBiggerThanDXN", isDXPBiggerThanDXN, ignoreFalseConditions, separator) + - ToString("isDXNBiggerThanDXP", isDXNBiggerThanDXP, ignoreFalseConditions, separator) + - ToString("isADXBullish", isADXBullish, ignoreFalseConditions, separator) + - ToString("isADXBearish", isADXBearish, ignoreFalseConditions, separator) + - ToString("isADXSwitchedToBullish", isADXSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isADXSwitchedToBearish", isADXSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isADXBiggerLast", isADXBiggerLast, ignoreFalseConditions, separator) + + ToXString("isADXLesserLast", isADXLesserLast, ignoreFalseConditions, separator) + + ToXString("isADXOverThreshold", isADXOverThreshold, ignoreFalseConditions, separator) + + ToXString("isADXUnderThreshold", isADXUnderThreshold, ignoreFalseConditions, separator) + + ToXString("isDXPBiggerThanDXN", isDXPBiggerThanDXN, ignoreFalseConditions, separator) + + ToXString("isDXNBiggerThanDXP", isDXNBiggerThanDXP, ignoreFalseConditions, separator) + + ToXString("isADXBullish", isADXBullish, ignoreFalseConditions, separator) + + ToXString("isADXBearish", isADXBearish, ignoreFalseConditions, separator) + + ToXString("isADXSwitchedToBullish", isADXSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isADXSwitchedToBearish", isADXSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "RSI: " + separator + "-----------------------" + separator + - ToString("isRSIBullish", isRSIBullish, ignoreFalseConditions, separator) + - ToString("isRSIBearish", isRSIBearish, ignoreFalseConditions, separator) + - ToString("isRSISwitchedToBullish", isRSISwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isRSISwitchedToBearish", isRSISwitchedToBearish, ignoreFalseConditions, separator) + - ToString("isRSIOB", isRSIOB, ignoreFalseConditions, separator) + - ToString("isRSIOS", isRSIOS, ignoreFalseConditions, separator) + - ToString("isRSICrossedOverOB", isRSICrossedOverOB, ignoreFalseConditions, separator) + - ToString("isRSICrossedOverOS", isRSICrossedOverOS, ignoreFalseConditions, separator) + - ToString("isRSICrossedUnderOB", isRSICrossedUnderOB, ignoreFalseConditions, separator) + - ToString("isRSICrossedUnderOS", isRSICrossedUnderOS, ignoreFalseConditions, separator) + + ToXString("isRSIBullish", isRSIBullish, ignoreFalseConditions, separator) + + ToXString("isRSIBearish", isRSIBearish, ignoreFalseConditions, separator) + + ToXString("isRSISwitchedToBullish", isRSISwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isRSISwitchedToBearish", isRSISwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isRSIOB", isRSIOB, ignoreFalseConditions, separator) + + ToXString("isRSIOS", isRSIOS, ignoreFalseConditions, separator) + + ToXString("isRSICrossedOverOB", isRSICrossedOverOB, ignoreFalseConditions, separator) + + ToXString("isRSICrossedOverOS", isRSICrossedOverOS, ignoreFalseConditions, separator) + + ToXString("isRSICrossedUnderOB", isRSICrossedUnderOB, ignoreFalseConditions, separator) + + ToXString("isRSICrossedUnderOS", isRSICrossedUnderOS, ignoreFalseConditions, separator) + // "-----------------------" + separator + "DELTA: " + separator + "-----------------------" + separator + - ToString("isDeltaUp", isDeltaUp, ignoreFalseConditions, separator) + - ToString("isDeltaDown", isDeltaDown, ignoreFalseConditions, separator) + - ToString("isDeltaBullish", isDeltaBullish, ignoreFalseConditions, separator) + - ToString("isDeltaBearish", isDeltaBearish, ignoreFalseConditions, separator) + - ToString("isDeltaSwitchedToBullish", isDeltaSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isDeltaSwitchedToBearish", isDeltaSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isDeltaUp", isDeltaUp, ignoreFalseConditions, separator) + + ToXString("isDeltaDown", isDeltaDown, ignoreFalseConditions, separator) + + ToXString("isDeltaBullish", isDeltaBullish, ignoreFalseConditions, separator) + + ToXString("isDeltaBearish", isDeltaBearish, ignoreFalseConditions, separator) + + ToXString("isDeltaSwitchedToBullish", isDeltaSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isDeltaSwitchedToBearish", isDeltaSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "VOLUME: " + separator + "-----------------------" + separator + - ToString("isVolumeBullish", isVolumeBullish, ignoreFalseConditions, separator) + - ToString("isVolumeBearish", isVolumeBearish, ignoreFalseConditions, separator) + - ToString("isVolumeSwitchedToBullish", isVolumeSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isVolumeSwitchedToBearish", isVolumeSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isVolumeBullish", isVolumeBullish, ignoreFalseConditions, separator) + + ToXString("isVolumeBearish", isVolumeBearish, ignoreFalseConditions, separator) + + ToXString("isVolumeSwitchedToBullish", isVolumeSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isVolumeSwitchedToBearish", isVolumeSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "SIGNAL Bar: " + separator + "-----------------------" + separator + - ToString("isSBarBullish", isSBarBullish, ignoreFalseConditions, separator) + - ToString("isSBarBearish", isSBarBearish, ignoreFalseConditions, separator) + - ToString("isSBarSwitchedToBullish", isSBarSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isSBarSwitchedToBearish", isSBarSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isSBarBullish", isSBarBullish, ignoreFalseConditions, separator) + + ToXString("isSBarBearish", isSBarBearish, ignoreFalseConditions, separator) + + ToXString("isSBarSwitchedToBullish", isSBarSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isSBarSwitchedToBearish", isSBarSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "XHK Signal Bar: " + separator + "-----------------------" + separator + - ToString("isHKSBarBullish", isHKSBarBullish, ignoreFalseConditions, separator) + - ToString("isHKSBarBearish", isHKSBarBearish, ignoreFalseConditions, separator) + - ToString("isHKSBarSwitchedToBullish", isHKSBarSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isHKSBarSwitchedToBearish", isHKSBarSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isHKSBarBullish", isHKSBarBullish, ignoreFalseConditions, separator) + + ToXString("isHKSBarBearish", isHKSBarBearish, ignoreFalseConditions, separator) + + ToXString("isHKSBarSwitchedToBullish", isHKSBarSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isHKSBarSwitchedToBearish", isHKSBarSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "Trend: " + separator + "-----------------------" + separator + - ToString("isTrendUp", isTrendUp, ignoreFalseConditions, separator) + - ToString("isTrendDown", isTrendDown, ignoreFalseConditions, separator) + - ToString("isTrendBullish", isTrendBullish, ignoreFalseConditions, separator) + - ToString("isTrendBearish", isTrendBearish, ignoreFalseConditions, separator) + - ToString("isTrendSwitchedToBullish", isTrendSwitchedToBullish, ignoreFalseConditions, separator) + - ToString("isTrendSwitchedToBearish", isTrendSwitchedToBearish, ignoreFalseConditions, separator) + + ToXString("isTrendUp", isTrendUp, ignoreFalseConditions, separator) + + ToXString("isTrendDown", isTrendDown, ignoreFalseConditions, separator) + + ToXString("isTrendBullish", isTrendBullish, ignoreFalseConditions, separator) + + ToXString("isTrendBearish", isTrendBearish, ignoreFalseConditions, separator) + + ToXString("isTrendSwitchedToBullish", isTrendSwitchedToBullish, ignoreFalseConditions, separator) + + ToXString("isTrendSwitchedToBearish", isTrendSwitchedToBearish, ignoreFalseConditions, separator) + // "-----------------------" + separator + "Peak: " + separator + "-----------------------" + separator + - ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) + - ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) + - ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) + + ToXString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) + + ToXString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) + + ToXString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) + // "-----------------------" + separator + "Vale: " + separator + "-----------------------" + separator + - ToString("isValeSameLast", isValeSameLast, ignoreFalseConditions, separator) + - ToString("isValeOverLast", isValeOverLast, ignoreFalseConditions, separator) + - ToString("isValeUnderLast", isValeUnderLast, ignoreFalseConditions, separator) + + ToXString("isValeSameLast", isValeSameLast, ignoreFalseConditions, separator) + + ToXString("isValeOverLast", isValeOverLast, ignoreFalseConditions, separator) + + ToXString("isValeUnderLast", isValeUnderLast, ignoreFalseConditions, separator) + "" // ; @@ -5721,7 +5721,7 @@ bool IsValid(ENUM_XCATB_DIRECTION_SHIFT_TYPES value) } // -string ToString(ENUM_XCATB_DIRECTION_SHIFT_TYPES value) +string ToXString(ENUM_XCATB_DIRECTION_SHIFT_TYPES value) { return EnumToString(value); } @@ -5753,7 +5753,7 @@ ENUM_XCATB_DIRECTION_SHIFT_TYPES GetDirectionShiftType(XBoxZone &box) for (int i = 0; i < count; i++) { // - if (box.type == ToString(all[i])) + if (box.type == ToXString(all[i])) { // result = all[i]; diff --git a/Indicators/x-saherelm.x121.xct.mq5 b/Indicators/x-saherelm.x121.xct.mq5 index 286882ad..c267a557 100644 --- a/Indicators/x-saherelm.x121.xct.mq5 +++ b/Indicators/x-saherelm.x121.xct.mq5 @@ -85,7 +85,7 @@ int OnInit() // Validate Inputs ... // - tag = ShortName + _Symbol + ToString(_Period); + tag = ShortName + _Symbol + ToXString(_Period); // // Set Indicator ShortName ... diff --git a/Libraries/x-saherelm.x-enums.lib.mq5 b/Libraries/x-saherelm.x-enums.lib.mq5 index 725caf56..a0403e37 100644 --- a/Libraries/x-saherelm.x-enums.lib.mq5 +++ b/Libraries/x-saherelm.x-enums.lib.mq5 @@ -413,6 +413,10 @@ bool IsValid(ENUM_X_DIRECTION value) // return result; } +bool IsSpecifiedValid(ENUM_X_DIRECTION value) +{ + return IsValid(value); +} /** * Validate value Has Specified Direction ... @@ -554,7 +558,10 @@ string ToString(ENUM_X_DIRECTION value) // return result; } - +string ToXString(ENUM_X_DIRECTION value) +{ + return ToString(value); +} // // END Direction ... // @@ -928,6 +935,10 @@ bool IsValid(ENUM_X_MARKET_CYCLES value) // return result; } +bool IsSpecifiedValid(ENUM_X_MARKET_CYCLES value) +{ + return IsValid(value); +} /** * Converts an String to it's related Market Cycle ... @@ -1007,6 +1018,10 @@ string ToString(ENUM_X_MARKET_CYCLES value) // return result; } +string ToXString(ENUM_X_MARKET_CYCLES value) +{ + return ToString(value); +} /** * Retrieve All Availabled Market Cycles ... diff --git a/XCATBEA/Classes/xcatbea.expert.class.mq5 b/XCATBEA/Classes/xcatbea.expert.class.mq5 index 1c2c5529..15b605b7 100644 --- a/XCATBEA/Classes/xcatbea.expert.class.mq5 +++ b/XCATBEA/Classes/xcatbea.expert.class.mq5 @@ -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) + // "" // diff --git a/XCATBEA/Classes/xcatbea.signaller.class.mq5 b/XCATBEA/Classes/xcatbea.signaller.class.mq5 index 68fc240f..779fc1e5 100644 --- a/XCATBEA/Classes/xcatbea.signaller.class.mq5 +++ b/XCATBEA/Classes/xcatbea.signaller.class.mq5 @@ -148,9 +148,9 @@ struct XCATBEASignallerInputs // result = - IsValid(symbol) && - IsValid(period) && - IsValid(provider) && + IsSpecifiedValid(symbol) && + IsSpecifiedValid(period) && + IsSpecifiedValid(provider) && catbInputs.IsValid() && riskToRewardRatio > 0; diff --git a/XCATBEA/Classes/xcatbea.x-poi.detector.class.mq5 b/XCATBEA/Classes/xcatbea.x-poi.detector.class.mq5 index c514ffe2..06923902 100644 --- a/XCATBEA/Classes/xcatbea.x-poi.detector.class.mq5 +++ b/XCATBEA/Classes/xcatbea.x-poi.detector.class.mq5 @@ -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; } diff --git a/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 b/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 index 49ceef83..0d093f17 100644 --- a/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 +++ b/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 @@ -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"; // diff --git a/XCATBEA/Libraries/xcatbea.signaller.lib.mq5 b/XCATBEA/Libraries/xcatbea.signaller.lib.mq5 index c8b2b543..ebda6e97 100644 --- a/XCATBEA/Libraries/xcatbea.signaller.lib.mq5 +++ b/XCATBEA/Libraries/xcatbea.signaller.lib.mq5 @@ -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();