CopyCat More Trades Copier

CopyCat More Trades Copier

18 May 2025, 11:04
Dilwyn Tng
0
2 420

Copy Cat More Manual and Settings.


Simple but Important:


When you are using the utility as Master Mode, you just need to setup Common and Master Section, ignore Slave Section.

When you are using the utility as Slave Mode, you just need to setup Common and Slave Section, ignore Master section

Simple drag the copier over, one select as Master, one default as Slave and keep the rest not changed for most basic usage in the same VPS/PC. There is no need to change Slave ID even you have more then 1 slaves in the same VPS/PC.



See this video for setups (1 master to 1 slave and 1 masters to multiple slaves), you will be amazed to see how easy to use Copy Cat More Trade Copier.





[Master]     denotes the settings affect Masterand you only change this if neccessary in Master Copier
[Slave]       denotes the settings affect Slave and you only change this if neccessary in Slave Copier


Section 1: Common Settings      [Master]   [Slave]

These are the global parameters that apply to both Master and Slave terminals. They control display settings, processing frequency, and symbol handling behavior.

 

Parameters 

  • Mode (Mode = Slave/Master)
    Defines the role of the terminal:
    • Master – Sends trades.
    • Slave – Receives trades.
      Example: Set Master on the lead trading account and Slave on all follower accounts.
  • Auto Detect Prefix and Suffix (FixType = AutoFix)
    Handles symbol mismatches between brokers.
    • AutoFix – Automatically resolves common suffixes/prefixes (e.g., XAUUSD.i → XAUUSD).
    • ManualFix – Requires manual configuration via Prefix_ and Suffix_.
  • Operation Speed (Speed = TurboSpeed)
    Determines the rate of data scanning and synchronization:
    • Tick (NormalSpeed) · Stable Tick (StableTickSpeed, + Stabilising Delay) · Fast (FastSpeed) · Turbo (TurboSpeed, default) · Stable (StableSpeed, + Stabilising Delay). New
      StableSpeed or Stable Tick suits every broker account type and is recommended, especially for slow-execution brokers. Turbo is the fastest and it may not be suitabe for slow execution brokers which is most CPU intensive.
    • All the rest of the mod are working on timer whereas Tick modes are working on ticks.
  • Stabilising Delay (Stablizing = 2000)
    Delay in milliseconds to slow the processing loop during StableSpeed.  Stabilising Delay is used in StableSpeed and TickStable Mode only.  Turbo, Fast and Ticks operate at as far as they could without delay.
    Example: A value of 2000 means the EA waits 2 seconds between checks for Stable and TickStable.
  • Trade List Display Count (LineDisplay = 12)
    Sets how many trades are shown on the chart trade list.
  • Chart Font Size (TextSize = 11)
    Font size used in all on-chart labels (e.g., trade display, role indicator).
  • Chart Font Color (TextColor = clrYellow)
    Color of the text displayed on the chart.
    Example: Use clrYellow for visibility against a dark chart background.
  • Load All Symbols (LoadAllSymbol = false)
    When true, all broker symbols are added to Market Watch automatically.
    Useful when trades are skipped due to missing symbols on the Slave.

    Different Speed Modes uses the same memory, the amount of memory uses depends on number of orders and positions


Section 2: Master Settings     [Master]     <------ This Section is used by Master only

Settings specific to the Master (trade sender).   

  • Master ID (MasterID = "CopyCat")
    Unique identifier for this Master instance. You can have more then 1 master in a VPS/PC, their Master ID has to unique/different.
  • Master Symbol Prefix (MPrefix_)
    Used when Auto Detect Prefix and Suffix  (FixType = ManualFix)
  • If Master broker symbols is xEURUSD, it has a prefix of x
    If Master broker symbols is .EURUSD, it has a prefix of .
    If Master broker symbols is EURUSD, it has a prefix of (blank)
  • Master Symbol Suffix (MSuffix_)
    Used when Fix Type (FixType = ManualFix)
    If Master broker symbols is XAUUSD.i, it has a suffix of .i
    If Master broker symbols is EURUSD., it has a prefix of .
    If Master broker symbols is GBPUSDx, it has a prefix of x
    If Master broker symbols is GBPUSD, it has a prefix of (blank)
  • Master Chart Color (MasterChartColor = C'32,32,32')
    Chart background color to help visually identify Master terminals.


Section 3: Slave Settings      [Slave]     <------ Section 3 and below are used by Slave only

Settings specific to Slave terminals (trade receivers).

  • Slave ID (SlaveID = "CopyCat")
    Identifier for the slave terminal. Multiple terminals can share the same ID.
  • Mapped Symbols (CustomSymbolString)
    Custom symbol mapping format: MasterSymbol=SlaveSymbol
    Example: Gold=XAUUSD, WS30=US30.i,  GBPUSDx=GPBUSD, GPBUSD=GPBUSD.x
    Mapped Symbols has first priority over Prefix and Suffix
    Support up to 16 pairs (each pair is separated by commas) for More Edition.

  • Slave Symbol Prefix (Prefix_)
    Used when Auto Detect Prefix and Suffix (FixType = ManualFix)
    If Slave broker symbols is xEURUSD, it has a prefix of x
    If Slave broker symbols is .EURUSD, it has a prefix of .
    If Slave broker symbols is EURUSD, it has a prefix of (blank)
  • Slave Symbol Suffix (Suffix_)
    Used when Fix Type (FixType = ManualFix)
    If Slave broker symbols is XAUUSD.i, it has a suffix of .i
    If Slave broker symbols is US30., it has a prefix of .
    If Slave broker symbols is GBPUSDx, it has a prefix of x
    If Slave broker symbols is GBPUSD, it has a prefix of (blank)

Note: In rare cases, some brokers have more then 1 set of symbols (for example: EURUSD, EURUSD+ at the symbol list), in such case, auto detection of prefix and suffix may not work, you have to use Mapped Symbols, Symbol Prefix and Suffix of Slave and Master.



Section 5: Buy/Sell Filter

This section allows you to control which trade directions are copied from the Master to the Slave terminal.

  • BuyOrSell
    • Buy and Sell (BuyOrSellAll) – Default mode, all trades are copied.
    • Buy Only (BuyOnly) – Only BUY trades from the Master are copied.
    • Sell Only (SellOnly) – Only SELL trades are copied.
    • Disable Copying (BuyOrSellOff) – No trades are copied regardless of type.

Example: Set to SellOnly to copy only SELL trades and ignore BUY trades.



Section 6: Lot Size

Controls how the Slave calculates trade lot sizes. Multiple methods are available, from fixed sizes to equity or risk-based formulas.

Lot Size Mode (LotSizeMode)
Determines which group of sizing rules applies:

  • Group B (LotSizeGroupB) – Uses fixed/factor/account-ratio methods.

  • Group A (LotSizeGroupA) – Uses stop-loss/risk% methods. If SL not provided, can fall back to Group B.

Note: If Group A setting is selected and a copied trades has no SL, it will fallback to use Group B setting.


Lot Rounding/Lot Step (RoundMode)

Specifies how calculated lots are adjusted to match broker’s lot step:

  • Truncate (ROUND_TRUNC) – Round down to nearest step.

  • Round Up (ROUND_UP) – Always round upward.

  • Round Down (ROUND_DOWN) – Always round downward

  • Round to Nearest (ROUND_NEAREST) – Round to the nearest step. This is the default. New


Custom Symbol Lot Multiplier  NEW

Some asserts may have different contract size or any lot size missed match by ratio,  this is where you can specify, the lot size multiplier apply to complete Slave symbols.

For example:  Master symbol is JPN225 (opened 1 lot),   Slave is JP225 (opened 10 lot)
Slave symbol is US30.i (open 1 lot),   WS30 (open 0.1 lot)
Use Custom Symbol Lot Multiplier   JP225=0.1, US30.i=10
This way, 1 lot will be opened by slave


For example:  Master symbol is JP225 (contract size 200),   US30.i (contract size 10)
Slave symbol is JPN225 (contract size 10),   US30.i (contract size 100)
Use Custom Symbol Lot Multiplier is   JPN225=20, US30.i=0.1
This way, Slave will open 200 lot of JPN225 and 10 lot of US30.

You have to set customs symbol mapping in Section 3, if Master and Slave symbols are totally mismatched and cannot be taken care by symbol (auto) suffix and prefix


6.1 Lot Size Group B

Defines methods that do not require a stop loss. Suitable for fixed or account-ratio-based sizing.

Lot Type Without SL (LotTypeWOSL)
Options:

  • Fixed (LotFixed) – Use a constant lot size.

  • Factor (LotFactor) – Multiply Master lot size by a factor.

  • Equity Ratio (LotEquityRatio) – Scale based on equity ratio.

  • Balance Ratio (LotBalanceRatio) – Scale based on balance ratio.

  • Free Margin Ratio (LotFreeMarginRatio) – Scale based on available free margin.

  • Equity × Leverage (LotEquityLeverageRatio) – Scale using equity × leverage value.

  • Slave Equity per 0.01 lot (LotSlaveEquitySize) (More version only) – Define equity required per 0.01 lot.

  • Slave Balance per 0.01 lot (LotSlaveBalanceSize) (More version only) – Define balance required per 0.01 lot.

Parameters

  • LotFixedSet = 0.1 – Fixed lot size.
    Example: Every trade copies as 0.1 lot.

  • LotFactorSet = 1.0 – Factor applied to Master’s lot size.
    Example: Master = 2 lots, Factor = 0.5 → Slave = 1 lot.

  • LotEquityRatioSet = 1.0 – Ratio applied to Slave’s equity.

  • LotBalanceRatioSet = 1.0 – Ratio applied to Slave’s balance.

  • LotFreeMarginRatioSet = 1.0 – Ratio applied to free margin.

  • LotSlaveEquitySizeSet = 500 – Equity per 0.01 lot (More version only).
    Example: $500 equity → 0.01 lot. $5,000 equity → 0.10 lot.

  • LotSlaveBalanceSizeSet = 500 – Balance per 0.01 lot (More version only).

  • LotEquityLeverageRatioSet = 1.0 – Ratio based on equity × leverage.


6.2 Lot Size Group A

Defines methods that require a stop loss. Lot size is derived from risk per trade relative to account size or drawdown thresholds.

Lot Type With SL (LotTypeSL = LotPercentageInitialDepositLoss)
Options:

  • % of Initial Deposit (LotPercentageInitialDepositLoss) – Risk based on initial deposit.

  • % of Balance (LotPercentageBalanceLoss) – Risk based on current balance.

  • % of Equity (LotPercentageEquityLoss) – Risk based on current equity.

  • % of Free Margin (LotPercentageFreeMarginLoss) – Risk based on available free margin.

  • % of Daily Open Balance (LotPercentageDailyBalanceLoss) – Risk relative to balance at start of day.

  • % of Daily Open Equity (LotPercentageDailyEquityLoss) – Risk relative to equity at start of day.

  • Fixed Dollar Loss (LotDollarLoss) – Risk based on a set USD amount.

Values New: LotPercentageInitialDepositLossSet = 0.5 · LotPercentageBalanceLossSet = 0.5 · LotPercentageEquityLossSet = 0.5 · LotPercentageFreeMarginLossSet = 0.5 · LotPercentageDailyBalanceLossSet = 1.0 · LotPercentageDailyEquityLossSet = 1.0 (all in %) · LotDollarLossSet = 12.25 ($).

Example: With LotPercentageBalanceLoss = 2%, SL = 100 pips, and balance = $10,000 → lot size is calculated so maximum loss = $200.



    Section 7: Lot Size Fixing 

    Restricts calculated lot sizes within specified minimum and maximum values.

    • Force Broker Minimum (SymbolMinLotAdjust = true/false)
      If enabled, lots smaller than broker’s minimum allowed lot size are automatically adjusted upward.
    • Enable Lot Size Fixing (LotSizeFixing = true/false)
      If true, the system will enforce min/max constraints.
    • Minimum Lot Size (MinLotFixing = 0.11)
      Lowest volume allowed for a copied trade.
    • Maximum Lot Size (MaxLotFixing = 5)
      Highest volume allowed regardless of calculated result.
    • Broker Minimum Enforcement (SymbolMinLotAdjust = true/false)
      If enabled, any lot size below the broker-defined minimum will be adjusted upward.

     



    Section 8: Tolerance Settings 

    Sets how much deviation is tolerated in price, slippage, and timing between Master and Slave.

    • Prices Deviation Tolerance (PriceTolerance = 0)
      Maximum allowed points between Master’s price and Slave’s current price. 0 = off (default, never rejects). Not applied to pending orders or while Better Price is on. New
      Example: On high volatility pairs like BTCUSD, use a high value such as 1000000 points.   About points, 87.56 is 87.56 points, 987.56 is 98756 points, 1.56222 is 156222 points, 0.362 is 362 points.
    • Slippage on Open (Slippage = 0)
      Acceptable slippage when opening a trade (in points). 0 = no limit (default). New
    • Slippage on Close (CloseSlippage = 0)
      Acceptable slippage when closing a trade (in points). 0 = no limit (default). New
    • Max Open Delay Allowed (DelayTolerance = 120)
      Maximum age (in seconds) of a master trade allowed for copying. New
      Example: With 120 (default), a master trade up to 2 minutes old is still copied. Set 60 to copy only trades up to 1 minute old.

    Slave account broker will rejects trades if out of slippage, Copy Cat will attempt to copy within Max Open Delay Allowed



    Section 10: First Deposit 

    This section controls how the EA determines the initial deposit value, which may be used in lot size calculations and risk-based logic.

    • InitialBalanceDetect (true/false)
      Enables automatic detection of the account's first deposit from the account history.
      Example: Set to true to let the EA scan account history and use the first deposit as reference.
    • InitialBalanceSet (e.g. 25000)
      Manually defines the fallback first deposit value if auto-detection fails or is disabled.
      Example: Set to 25000 if you want the EA to assume $25,000 as the initial deposit.

    These setting are useful for prop firm account.



    Section 11: Indicator Settings 

    Controls the parameters used in ATR- and ADR-based calculations for SL, TP, and Better Price Logic and other functions

    • ATR Timeframe (ATRTimeFrame = PERIOD_H1)
      Timeframe used for the Average True Range (ATR) indicator.
    • ATR Period (ATRPeriod = 14)
      Number of candles over which ATR is averaged.
    • ADR Period (ADRPeriod = 180)
      Number of days used for calculating the Average Daily Range (ADR).


    Section 20 — SL & TP

    Configure how Stop Loss and Take Profit are set on the slave side.

    Core

    • Adjust TP and SL Delta (AdjustTPSLDelta = false) — If true, SL/TP shift by the same distance as the slave’s entry improvement vs. the master, preserving R:R.  New

    A) Stop Loss Settings

        Stop Loss Type (SLType = SLFollowMasterType) — Follow Master · By Master Points Factor · Ignore SL · No SL · By Point · ATR-Based · ADR-Based · Price-Range-Based

    • No SL, ignore Master SL

    • Ignore SL, slave trade SL will be ignored (you can decouple slave SL using this option)   New

    • Follow Master, follow master trades SL

    • SL by Master Points Factor (SLType = SLMasterFactor, MasterSLFactor = 1.0) — SL distance = Master SL distance × factor. 1 = same as the Master; Master without SL = no SL. New

    • SL by Point (SLByPoint = 300)

    • ATR SL Factor (ATRSLFactor = 1.5) — SL = ATR × factor

    • ADR SL Factor (ADRSLFactor = 0.25) — SL = ADR × factor       

    • Price Range SL Factor (PriceRangeSLFactor = 0.03) — SL = PriceRange × factor    

    • SL Offset (SLOffset = 0) — Adds ±points after the above calculation: + moves the SL further from the entry (wider stop), − moves it closer (tighter stop). Works with every SL mode. New

    Controlled Randomisation (SL)

    • SL Randomisation Type (SLRandomType = SLRandomOff) — Off · By ATR · By ADR · By Price · By Point Range  

    • SL Randomisation Range (%) (SLRandomPC = 1) — Used for ATR/ADR/Price modes   

    • SL Randomisation Range (points) (SLPointRange = 20) — Used for Point Range mode    
      Logic: a symmetric random offset in − r a n g e … + r a n g e -range … +range −range…+range is added to the computed SL.
      • ATR/ADR/Price modes: range = base × (SLRandomPC / 100). Base = ATR, ADR, or mid-price.
      • Point Range mode: range = SLPointRange × Point.

    B) Take Profit Settings

    TP Type (TPType = TPFollowMasterType) — Follow Master · By Master Points Factor · Ignore TP · No TP · Factor of SL · By Point · ATR-Based · ADR-Based · Price-Range-Based

    • No TP, do not follow Master trade TP, leave TP blank

    • Ignore TP, slave trade TP will be ignored (you can decouple slave TP using this option)  New

    • Follow Master, follow master trades TP setting

    • TP by Master Points Factor (TPType = TPMasterFactor, MasterTPFactor = 1.0) — TP distance = Master TP distance × factor. 1 = same as the Master; Master without TP = no TP. New

    • TP by Point (TPByPoint = 500)

    • TP Factor wrt SL (TPFactor = 2) — TP = SL × factor. If the copied trade has no SL, no TP is set. New

    • TP by ATR (TPType = TPATRType) — TP = ATR × ATR TP Factor, set when the trade is copied (ATR timeframe and period from Section 11). New

    • ATR TP Factor (ATRTPFactor = 1.5) — TP = ATR × factor    New 

    • ADR TP Factor (ADRTPFactor = 0.25) — TP = ADR × factor     New 

    • Price Range TP Factor (PriceRangeTPFactor = 0.03) — TP = PriceRange × factor     New

    • TP Offset (TPOffset = 0) — Adds ±points after the above calculation: + moves the TP further from the entry, − moves it closer. Works with every TP mode. New

    Controlled Randomisation (TP)  New

    • TP Randomisation Type (TPRandomType = TPRandomOff) — Off · By ATR · By ADR · By Price · By Point Range   New

    • TP Randomisation Range (%) (TPRandomPC = 1) — Used for ATR/ADR/Price modes   New

    • TP Randomisation Range (points) (TPPointRange = 50) — Used for Point Range mode    New
      Logic: a symmetric random offset in − r a n g e … + r a n g e -range … +range −range…+range is added to the computed TP.
      • ATR/ADR/Price modes: range = base × (TPRandomPC / 100). Base = ATR, ADR, or mid-price.
      • Point Range mode: range = TPPointRange × Point.



      Section 30: Allow Filters 

      Allows only specified trades to be copied based on symbol, magic number, or comment.

      • Allowed Symbols (AllowSyms)
        Comma-separated list of permitted symbols (partial match supported, can be part of suffix).
        Example: XAU, US30, EURUSD, .r, USD
      • Allowed Magic Numbers (AllowMNs)
        Comma-separated list of permitted EA IDs.
        Example: 123, 456, 0
        0 is used to represent manual trade
      • Allowed Comments (AllowComms)
        Comma-separated list of allowed comment strings  (partial match supported).
        Example: Red Folder, My EA, or "" for blank comments.
        Support Partial Match


        CopyCat More supports up to 16 symbols, magic numbers, and comments in allow filters, separated by commas.



        Section 31: Disallow Filters

        Blocks trades from being copied based on matching symbol, magic number, or comment.

        • Disallowed Symbols (DisallowSyms)
          Comma-separated list of blocked instruments (partial match supported, can be suffix).
          Example: NAS100, BTCUSD, XAUUSD.i, GPB, .x
        • Disallowed Magic Numbers (DisallowMNs)
          Comma-separated list of EA IDs to exclude.
          Example: 0, 123, 9999
        • Disallowed Comments (DisallowComms)
          Comma-separated list of blocked trade comments  (partial match supported).
          Example: Bad Strategy, Test, or "" to block blank comment trades.
          Support Partial Match

        CopyCat More supports up to 16 symbols, magic numbers, and comments in disallow filters, separated by commas.


        Section 32: More Allow/Disallow (with MT5 Master) New

        Copy or skip Master trades by where they were opened. The origin is known only when the Master is MT5; trades from an MT4 Master are always allowed.

        • Allow Algo Trade Copy (AllowAlgoTradeCopy = true) – trades opened by an EA.
        • Allow Manual Trade Copy (AllowManualTradeCopy = true) – trades opened by hand in the desktop terminal.
        • Allow Mobile Trade Copy (AllowMobileTradeCopy = true) – trades opened in the mobile app.
        • Allow Web Trade Copy (AllowMWebTradeCopy = true) – trades opened in the web terminal.
          Example: set AllowManualTradeCopy = false and AllowMobileTradeCopy = false to copy only the Master's EA trades.

        Section 33: Copy Reverse

        Enables or disables reversal of trade direction between Master and Slave terminals.

        • Copy Reverse (CopyReverse = true/false)
          If enabled:
          • Master BUY → Slave SELL
          • Master SELL LIMIT → Slave BUY STOP
          • Master SELL STOP → Slave BUY LIMIT
            Example: Use CopyReverse = true to flip trades in the opposite direction

        Copy Reverse automatic flip SL and TP values. If you do not want such setup, you can set Ignore Position Exit=true, which means no master TP and SL is copied.

        • Reverse Type (ReverseCopyType = ReversePositionAndOrder) New – what is reversed: Positions and Orders · Positions Only (ReversePositionOnly) · Orders Only (ReverseOrderOnly).
        • Flip SL TP Delta (FlipSLTPDelta = false) New – false: the reversed trade keeps the Master's SL and TP distances. true: they swap (SL at the Master's TP distance, TP at the Master's SL distance).




        Section 34: Ignore Exits

        Provides finer control over whether exits (position close or order deletion) are mirrored from the Master.

        • Ignore Position Exit (DisableCopyPositionExit = true/false)
          Prevents closing of slave-side positions when the master closes its trade.
          Example: Set to true to keep trades open for discretionary or strategy-based exit.
        • Ignore Order Exit (DisableCopyOrderExit = true/false)
          Prevents deletion of pending orders even when canceled on the master side.
          Example: Keeps your pending entries intact even if the Master removes theirs.



        Section 35 — Pending Orders

        Configure how pending (limit/stop) orders are copied and optionally randomized on the slave.

        Core

        • Copy Pending Trades (CopyPendingTrades = true) — If true, mirrors all pending orders from the master.

        • Pending Order Offset (PendingOrderOffSet = 0) — Adds ±points to the slave pending price after mapping: + = higher price, − = lower price, for every pending order type (Buy/Sell Limit and Stop). New
          Example: Master Buy Limit at 1.08000, offset −50 → Slave Buy Limit at 1.07950. With Adjust TP and SL Delta (Section 20) the SL/TP keep the Master's distances from the pending price.

        Controlled Randomisation (Pending)  New

        • Pending Randomisation Type (PendingRandomType = PendingRandomOff) — Off · By ATR · By ADR · By Price · By Point Range

        • Pending Randomisation Range (%) (PendingRandomPC = 1) — For ATR/ADR/Price modes.

        • Pending Randomisation Range (points) (PendingPointRange = 100) — For Point Range mode.

        Logic (not future mode):
        If PendingRandomType == PendingRandomOff , no change.
        If PendingRandomType != PendingRandomByPointRange and PendingRandomPC <= 0 , no change.
        Otherwise a symmetric random factor in [-1 … +1] is applied to a mode-specific range:

        • By ATR: range = ATR(symbol) × (PendingRandomPC / 100)

        • By ADR: range = ADR(symbol) × (PendingRandomPC / 100)

        • By Price: range = midPrice × (PendingRandomPC / 100) where midPrice = (ask+bid)/2

        • By Point Range: range = PendingPointRange × Point(symbol)

        Final adjustment: pending_price += range × random_factor (this is in addition to PendingOrderOffSet ).



          Section 36: Partial Close
          Parital close is supported as Master and Slave in MT4/MT5 version



          Section 37: Close By 
          Close By is supported 



          Continue to Part 2:  https://www.mql5.com/en/blogs/post/763629 <------------------- read



          Support and Contact Information

          If you need help, have questions you can contact me at: