From 97cbf77f7d0c8b1de174301e631d2f9a89882152 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Sun, 28 Jul 2024 16:41:53 +0330 Subject: [PATCH] last works on recovery ... --- Classes/x-saherelm.xtrade.class.mq5 | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Classes/x-saherelm.xtrade.class.mq5 b/Classes/x-saherelm.xtrade.class.mq5 index c82acdf0..5331f5c4 100644 --- a/Classes/x-saherelm.xtrade.class.mq5 +++ b/Classes/x-saherelm.xtrade.class.mq5 @@ -4767,7 +4767,7 @@ public: } else { - // + // XPosition positions[]; int positionsCount = mTrader.GetPositions( positions, @@ -4847,6 +4847,9 @@ public: // string msg = "EQM Done Recovery (" + ToString(closeds) + ") Positions ..."; Alert(msg); + + // + break; } } @@ -5106,7 +5109,8 @@ public: // // Current Profit ... double distanceInPoints = (MathAbs(profit) / volume); - double _volume = volume * ((mData[i].recoveryLevel + 1) * recoveryVolumeMultiplier); + double _volumeMultiplier = ((mData[i].recoveryLevel) * recoveryVolumeMultiplier); + double _volume = volume * (_volumeMultiplier <= 0 ? 1 : _volumeMultiplier); string _comment = GenerateRecoveryTag(ticket); // @@ -5191,7 +5195,11 @@ public: else { // - bool canRecover = distanceInPoints >= recoverySLPoint; + bool canRecover = + distanceInPoints >= recoverySLPoint && + (mData[i].recoveryLevel == 0 || + (mData[i].recoveryLevel >= 2 && + mData[i].recoveryLevel / 2 == 0)); if (canRecover) { //