From 91b0b7efbe8929ef215af5ba3a5cb8030d557928 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Thu, 29 May 2025 14:48:25 +0330 Subject: [PATCH] apply fix on Save Positions in Trade Manager ... --- Experts/xcatb.test.ea.mq5 | 31 ++++++++++++++++--- .../Classes/xcatbea.x-trade.manager.class.mq5 | 2 +- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Experts/xcatb.test.ea.mq5 b/Experts/xcatb.test.ea.mq5 index 76bc071f..a71d9f51 100644 --- a/Experts/xcatb.test.ea.mq5 +++ b/Experts/xcatb.test.ea.mq5 @@ -70,7 +70,7 @@ input int eaBosLoopback = 0; // PV Based Filtering BOS Looku input bool eaFilterBasedOnSar = false; // Filter Based On SAR input bool eaForceSarSwitched = false; // SAR Switched on Sides for Filtering input bool eaForceSarOnBothSide = false; // SAR Check on Both Sides for Filtering -input bool eaForceSarHasBreakout = false; // SAR Must Breakout +input bool eaForceSarHasBreakout = false; // SAR Must Breakout input bool eaForceSarHasReversalSide = false; // SAR Must Has Reversal Direction input bool eaFilterBasedOnRSI = false; // Filter Based On RSI input bool eaForceHasRSITrending = false; // RSI Must Has Trending @@ -398,9 +398,6 @@ void OnTick() // Attach Signal ... eaSignal = eaTB.signal; - // - // Here we Can Fill eaConditions ... - // // Check Signal Type ... bool isLong = IsLong(eaSignal.type); @@ -425,6 +422,32 @@ void OnTick() eaSignal.volume = iVolume; } + // + eaConditions.sl = eaSignal.sl; + eaConditions.tp = eaSignal.tp; + eaConditions.pivot = eaSignal.sl; + eaConditions.time = eaSignal.time; + eaConditions.reward = eaSignalR2R; + eaConditions.point = eaSignal.entry; + eaConditions.entry = eaSignal.entry; + eaConditions.symbol = eaSignal.symbol; + eaConditions.period = eaSignal.period; + eaConditions.setupTime = eaSignal.time; + eaConditions.triggerTime = eaSignal.time; + eaConditions.decisionZone = eaTB.trigger; + eaConditions.provider = eaSignal.provider; + eaConditions.conditions = eaCatbConditions; + eaConditions.type = ToPositionType(eaSignal.type); + eaConditions.dir = + isLong + ? X_DIRECTION_BULLISH + : X_DIRECTION_BEARISH; + Copy( + eaSignal.targets, + eaConditions.targets // + ); + eaSignal.conditions = eaCatbConditions.GenerateSummary(); + // // Execute Signal ... has = eaTradeManager.Execute( diff --git a/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 b/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 index 10451656..0550e5b3 100644 --- a/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 +++ b/XCATBEA/Classes/xcatbea.x-trade.manager.class.mq5 @@ -539,7 +539,7 @@ struct XCATBEATrade string conditionsSummary = conditions .conditions .GenerateSummary( - true, + false, true, true, false // Ignore False Conditions ...