> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heroncopier.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Slave Account Configuration

<Info>
  Due to API limitations on some platforms, some of the settings below may not be available on all platforms.
</Info>

## Email Notification

If you want to receive email notifications whenever a trade is copied or closed to the slave account, you can fill this field with your email address.

Do note that some fields may be left blank if the information is not available via the API on certain platforms.

## Identifier

This is the name of the slave account, you can put any value here. The name will be displayed in the chart label so you can easily identify the instance.

For example, you can fill this field with a value such as `FTMO 100k Challenge Slave #1`.

## Server Address

If you use more than 1 master account, please set the value to the port of the master account that you'd like the slave account to copy from. Else, just use the default value of `tcp://127.0.0.1:51124`.

If you intend to copy from a master account that is located in different a system/VPS, you should use the IP address of the master account in this field.

Else, if you are copying from a master account that is located in the same system/VPS, you can use the default value.

## Add Symbol Suffix

This is a global parameter to add symbol suffixes on your slave account.

```mermaid theme={null}
graph LR
    A[EURUSD] -->|maps to| B[EURUSD_x]
    C[USDJPY] -->|maps to| D[USDJPY_x]
```

For example, if the symbols in your slave accounts are marked with "\_x" suffixes (e.g. EURUSD\_x), then you can fill this field with `_x`. That way, whenever your slave account receives instructions from the master account, the copied symbols will be added with the suffixes.

## Symbol Aliases

This field is used to set symbol aliases and custom lot multipliers. In some cases, the addition and removal of symbol suffixes may not be enough since the brokers used by the master and slave account may have entirely different naming schemes in their symbols.

You can use the following format:

`DJ30.cash=US30|0.1;SpotCrude=WTI|10;BTCUSDT=BTCUSD;`

In the above example, we can see that there are 3 aliases with 2 custom lot multipliers, they are:

```mermaid theme={null}
graph LR
    A[DJ30.cash] -->|maps to| B[US30]
    B -->|using lot multiplier| C[0.1]
    D[SpotCrude] -->|maps to| E[WTI]
    E -->|using lot multiplier| F[10]
    G[BTCUSDT] -->|maps to| H[BTCUSD]
```

In the above example, the DJ30.cash symbol in the master account will be mapped to the US30 symbol in the slave account, and it will use 0.1 lot multiplier.

SpotCrude symbol in the master account will be mapped to the WTI symbol in the slave account and it will use 10 lot multiplier.

BTCUSDT symbol in the master account will be mapped to BTCUSD symbol in the slave account and it will use the universal lot multiplier instead because it's not assigned with a custom individual lot multiplier rule.

Any other symbols that aren't mapped in this field will use the calculation in volume sizing parameter instead.

<Warning>
  Symbol names are case-sensitive. Always confirm the exact broker symbol names and contract sizes, then test on a demo account or with a very small lot first. A per-symbol lot multiplier/custom lot multiplier can help compensate for a contract size mismatch, but it does not guarantee profit or remove trading risk.
</Warning>

## Symbol Black/whitelist

This field is used to set blacklist and/or whitelist.

Any symbols marked with "+" sign will be marked as whitelist, and any symbols marked with "-" sign will be marked as blacklist.

You can use the following format: `+BTCUSD;+ETHUSD;`

```mermaid theme={null}
graph LR
    A[BTCUSD] -->|whitelisted| B[Copy]
    C[ETHUSD] -->|whitelisted| D[Copy]
    E[EURUSD] -->|not in the whitelist| F[Don't Copy]
```

In the above example, we can see that BTCUSD and ETHUSD is in the whitelist, which means any symbols other than BTCUSD and ETHUSD will not be copied.

Now let's change the values: `-DJ30;-USDJPY;`

```mermaid theme={null}
graph LR
    A[DJ30] -->|blacklisted| B[Don't Copy]
    C[USDJPY] -->|blacklisted| D[Don't Copy]
    E[EURUSD] -->|not in the blacklist| F[Copy]
    G[AUDUSD] -->|not in the blacklist| H[Copy]
```

In the second example above, DJ30 and USDJPY is in the blacklist, so any symbols other than DJ30 and USDJPY will be copied.

We can also combine the blacklist and the whitelist, like so: `+BTCUSD;+ETHUSD;-DJ30;-USDJPY;`

```mermaid theme={null}
graph LR
    A[BTCUSD] -->|whitelisted| B[Copy]
    C[ETHUSD] -->|whitelisted| D[Copy]
    E[DJ30] -->|blacklisted| F[Don't Copy]
    G[USDJPY] -->|blacklisted| H[Don't Copy]
    I[EURUSD] -->|not in the whitelist| J[Don't Copy]
```

This means that BTCUSD and ETHUSD will be copied, while DJ30 and USDJPY and other pairs outside of whitelist will not be copied.

## Magic Number Black/whitelist

This field is used to set blacklist and/or whitelist.

Any magic numbers marked with "+" sign will be marked as whitelist, and any magic numbers marked with "-" sign will be marked as blacklist.

You can use the following format: `+111111;+222222;-333333;-444444;`

```mermaid theme={null}
graph LR
    A[111111] -->|whitelisted| B[Copy]
    C[222222] -->|whitelisted| D[Copy]
    E[333333] -->|blacklisted| F[Don't Copy]
    G[444444] -->|blacklisted| H[Don't Copy]
    I[555555] -->|not in the whitelist| J[Don't Copy]
```

In the above example, magic number 111111 and 222222 will be copied, while 333333 and 444444 will not be copied.

If there are no magic numbers in the whitelist, then all trades will be copied.

## Symbol Processing Order

Understanding the order of symbol processing is crucial for proper configuration. The system processes symbols in a specific sequence to ensure predictable behavior.

### Processing Flow

The symbol processing follows this exact order:

1. **Filtering Phase** (using original symbol names from master)
   * Blacklist filtering
   * Whitelist filtering
2. **Symbol Mapping Phase** (if symbol passes filtering)
   * Symbol Aliases (highest priority)
   * Symbol Suffix (only applied if not defined in aliases)
3. **Fallback Phase**
   * Auto symbol mapping (last resort if symbol still not found)

```mermaid theme={null}
flowchart TD
    A[Original Symbol from Master] --> B{Magic Number Filter}
    B -->|Pass| C{Symbol Blacklist}
    B -->|Fail| Z[Don't Copy]
    C -->|Pass| D{Symbol Whitelist}
    C -->|Fail| Z
    D -->|Pass| E{Symbol in Aliases?}
    D -->|Fail| Z
    E -->|Yes| F[Apply Alias Mapping]
    E -->|No| G{Symbol Suffix Defined?}
    F --> H[Use Mapped Symbol]
    G -->|Yes| I[Apply Symbol Suffix]
    G -->|No| J[Keep Original Symbol]
    I --> K{Symbol Found on Slave?}
    J --> K
    H --> K
    K -->|Yes| L[Execute Trade]
    K -->|No| M[Try Auto Symbol Mapping]
    M --> N{Auto Mapping Success?}
    N -->|Yes| L
    N -->|No| O[Skip Trade - Symbol Not Found]
```

### Example Processing Scenarios

#### Scenario 1: Symbol with Alias

```
Original Symbol: DJ30.cash
1. Passes magic number filter ✓
2. Passes blacklist filter ✓
3. Passes whitelist filter ✓
4. Found in aliases: DJ30.cash=US30|0.1 ✓
5. Result: Maps to US30 with 0.1 lot multiplier
```

#### Scenario 2: Symbol with Suffix

```
Original Symbol: EURUSD
1. Passes magic number filter ✓
2. Passes blacklist filter ✓
3. Passes whitelist filter ✓
4. Not found in aliases ✗
5. Symbol suffix "_x" is defined ✓
6. Result: Maps to EURUSD_x
```

#### Scenario 3: Blacklisted Symbol

```
Original Symbol: DJ30
1. Passes magic number filter ✓
2. Found in blacklist (-DJ30) ✗
3. Result: Trade is not copied
```

<Warning>
  **Important:**

  * Filtering always uses the **original symbol names** from the master account
  * Symbol aliases take precedence over symbol suffix
  * If a symbol is defined in aliases, the suffix will **not** be applied to that symbol
  * Auto symbol mapping only occurs as a last resort when all other methods fail
</Warning>

## Volume Sizing

This setting is used to determine how the trade volume will be calculated.

You can use the default "[Equity-to-Equity](#equity-to-equity)" option if you want the slave accounts to have the same risk parameters as the master account (e.g. if the master account open a 1% risk trade, the slave accounts should also do the same regardless of the equity differences)

But if you want some more advanced setups, you can use "[Lot Multiplier](#lot-multiplier)", "[Risk Multiplier](#risk-multiplier)", "[Fixed Risk by Percentage](#fixed-risk-by-percentage)", "[Fixed Risk by Nominal](#fixed-risk-by-nominal)" options, or even custom lot sizing via "Symbol Aliases" field.

You can choose between all these below 6 options:

### Equity-to-Equity

The trade volume will be automatically calculated based on the equity ratio between the master and slave account. This means the risk per trade will be the same in the master and slave account.

### Lot Multiplier

```mermaid theme={null}
graph LR
    A[10 lot position] -->|0.1 lot multiplier| B[1 lot position]
    C[1 lot position] -->|10 lot multiplier| D[10 lot position]
    E[0.1 lot position] -->|100 lot multiplier| F[10 lot position]
```

The trade volume will be calculated based on the original trade volume in the master account, multiplied by the "Lot Multiplier" field.

Broker and platform volume rules still apply after this calculation. A Lot Multiplier can reduce the calculated volume, but it cannot force the copied trade below the broker/platform **minimum lot size** or outside the allowed **lot step** increments.

For example, if Lot Multiplier is `0.15` and the master trade is `0.01` lot, the calculated slave volume is `0.0015`. If the slave account minimum lot size is `0.01`, the slave trade may be adjusted/rounded to `0.01` or otherwise not visibly scale down as expected. To self-check, confirm the slave broker/platform minimum lot size and lot step for that symbol, use a larger master lot so the multiplied result reaches a valid increment, or consider another sizing method if needed.

### Risk Multiplier

```mermaid theme={null}
graph LR
    A[1% risk] -->|0.1 risk multiplier| B[0.1% risk]
    C[0.1% risk] -->|10 risk multiplier| D[1% risk]
    E[0.25% risk] -->|4 risk multiplier| F[1% risk]
```

The trade volume will be calculated based on the equity ratio between the master and slave account, multiplied by "Risk Multiplier" field.

### Fixed Lot

```mermaid theme={null}
graph LR
    A[1 lot position] -->|Fixed lot 0.1| B[0.1 lot position]
    C[0.1 lot position] -->|Fixed lot 0.1| D[0.1 lot position]
    E[0.25 lot position] -->|Fixed lot 0.1| F[0.1 lot position]
```

The trade volume will use exactly the value defined in this "Fixed Lot" field.

### Fixed Risk by Percentage

```mermaid theme={null}
graph LR
    A[Any position size] -->|1% Fixed Risk| B[Lot size calculated to risk 1% of equity]
    C[Any position size] -->|0.5% Fixed Risk| D[Lot size calculated to risk 0.5% of equity]
    E[Any position size] -->|2% Fixed Risk| F[Lot size calculated to risk 2% of equity]
```

The trade volume will be calculated based on a fixed percentage of your account equity that you want to risk per trade. The lot size is automatically calculated using the stop loss distance from the master trade.

For example, if you set the risk percentage to 1% and your slave account has USD 10k equity, the copier will calculate the lot size so that if the stop loss is hit, you would lose approximately USD 100 (1% of USD 10k).

<Warning>
  **Important:** This volume sizing mode requires the master trade to have a stop loss. If the master trade does not have a stop loss, the trade will be skipped and logged as "Trade skipped: No stop loss provided from master. Fixed Risk modes require a stop loss to calculate lot size."
</Warning>

### Fixed Risk by Nominal

```mermaid theme={null}
graph LR
    A[Any position size] -->|$50 Fixed Risk| B[Lot size calculated to risk $50]
    C[Any position size] -->|$100 Fixed Risk| D[Lot size calculated to risk $100]
    E[Any position size] -->|$25 Fixed Risk| F[Lot size calculated to risk $25]
```

The trade volume will be calculated based on a fixed monetary amount (in your account currency) that you want to risk per trade. The lot size is automatically calculated using the stop loss distance from the master trade.

For example, if you set Fixed Risk Amount to 50 and your account currency is USD, the copier will calculate the lot size so that if the stop loss is hit, you would lose approximately \$50.

<Warning>
  **Important:** This volume sizing mode requires the master trade to have a stop loss. If the master trade does not have a stop loss, the trade will be skipped and logged as "Trade skipped: No stop loss provided from master. Fixed Risk modes require a stop loss to calculate lot size."
</Warning>

## Lot Size Caps

Lot size caps are optional settings that limit the copied lot size after your selected volume sizing method has calculated the trade size. If you leave these fields empty, the copier will continue using the normal volume sizing behavior and the broker/platform constraints that already apply to your account.

### Global Lot Size Cap

The **Global Lot Size Cap** field uses `min-max` format in lots. For example, use `0.01-1.00` to keep copied open/reopen trades between 0.01 and 1.00 lots.

### Symbol Lot Size Cap

The **Symbol Lot Size Caps** field uses semicolon-delimited `SYMBOL=min-max` entries. For example:

`EURUSD=0.01-0.50;XAUUSD=0.01-0.10`

Symbol-specific caps override the global cap for matching symbols. In the example above, EURUSD copied open/reopen trades will use the `0.01-0.50` cap, XAUUSD copied open/reopen trades will use the `0.01-0.10` cap, and other symbols will use the global cap if one is configured.

These caps apply only to copied open/reopen trade sizes. They do not change close or partial-close actions, and they do not replace broker or platform minimum/maximum lot rules.

<Note>
  Enter cap values in lots. Incomplete or malformed entries such as `EURUSD=0.03`, `GBPUSD=0.1-05`, comma decimals, `.05`, `1.`, or ambiguous leading zeros are rejected or corrected before saving/starting. For Dashboard create/edit flows, you can use the Builder UI to create symbol-specific caps instead of typing the full string manually.
</Note>

## Copy TP from Master Account

If you do not wish to copy TP from master account, you can choose false in the dropdown.

## Copy SL from Master Account

If you do not wish to copy SL from master account, you can choose false in the dropdown.

## Additional TP/SL in Pips

This setting is used to add additional TP/SL in pips. You would likely to use this settings if you want to add a buffer to the TP/SL, especially if you are copying to a slave account with different broker that has worse spread.

## Delay in Milliseconds

This setting is used to add max delay in milliseconds before the trade is copied to the slave account. The delay will be applied in random manner from 0ms to the value you set in this field.

## Reverse Mode

This setting is used to reverse trade the trades. You should only use this option if you intend to use the slave account for hedging purposes.

## Account Protection Mode

This setting is used to protect your account when certain balance or equity thresholds are reached. By default it is set to "Off".

Ideal use case for this setting is for prop firm accounts. Set the minimum threshold to just above the max daily DD, and set the max threshold to target profit.

There are **3 options** available:

| Mode              | Description                                                  |
| ----------------- | ------------------------------------------------------------ |
| **Off**           | Account protection is disabled. No thresholds are monitored. |
| **Balance-based** | Monitors your account **balance** (closed P\&L only).        |
| **Equity-based**  | Monitors your account **equity** (balance + floating P\&L).  |

### Understanding Balance vs Equity

* **Balance** = Your account balance after all closed trades. It does not include any unrealized profit/loss from open positions.
* **Equity** = Balance + Floating P\&L from open positions. This fluctuates in real-time as the market moves.

```mermaid theme={null}
graph TD
    subgraph Account Metrics
        A[Balance: $100,000] --> B[Equity = Balance + Floating P&L]
        C[Open Position: -$2,000 floating] --> B
        B --> D[Equity: $98,000]
    end
```

<Info>
  **When to use Balance-based:** Use this when you want protection to trigger only after trades are closed. Useful if you want to allow temporary drawdowns while positions are open.

  **When to use Equity-based:** Use this when you want real-time protection that accounts for floating P\&L. This is more aggressive and protects against unrealized losses.
</Info>

### How Min/Max Thresholds Work

When account protection mode is enabled (Balance-based or Equity-based), the copier continuously monitors your account. When either threshold is breached:

1. **All open positions are immediately closed**
2. **Trade copying is stopped**
3. **The slave account enters a protected/paused state**

```mermaid theme={null}
graph TB
    subgraph Protection Zone
        direction TB
        MIN[Min Threshold: $96,000]
        SAFE[Safe Trading Zone]
        MAX[Max Threshold: $110,000]
    end

    subgraph Actions
        A2[Balance OR Equity drops below $96,000]
        A1[Balance OR Equity reaches $110,000+]
        R1[Close all positions & Stop copying]
    end

    MIN -->|Breach triggers| A2
    MAX -->|Breach triggers| A1
    A2 --> R1
    A1 --> R1

    style MAX fill:#22c55e,color:#fff
    style MIN fill:#ef4444,color:#fff
    style SAFE fill:#3b82f6,color:#fff
    style R1 fill:#f59e0b,color:#fff
```

<Note>
  The trigger is based on **Balance** or **Equity** depending on which mode you selected. If you chose "Balance-based", only the account balance is monitored. If you chose "Equity-based", the equity (which includes floating P\&L) is monitored.
</Note>

### Minimum Threshold

If you set account protection mode on, the copying operation will be stopped and all open positions will be closed when your balance/equity has fallen **below** the value of this field.

For example, if you want the slave account to stop copying and close all the operations when your balance/equity falls below 96k of base currency, then just enter `96000`.

<Tip>
  **Prop Firm Example:** If your 100k account has a 4% max daily drawdown rule, set the minimum threshold to `96000` to protect against breaching the DD limit.
</Tip>

### Maximum Threshold

If you set account protection mode on, the copying operation will be stopped and all open positions will be closed when your balance/equity has reached **above** the value of this field.

For example, if you want the slave account to stop copying and close all the operations when your balance/equity reaches 110k of base currency, then just enter `110000`.

<Tip>
  **Prop Firm Example:** If your 100k challenge account has a 10% profit target, set the maximum threshold to `110000` to automatically lock in profits once the target is reached.
</Tip>

### Example Scenario

Consider a **\$100,000 prop firm challenge** with:

* Max Daily Drawdown: 4% (\$96,000 minimum)
* Profit Target: 10% (\$110,000)

**Recommended Settings:**

* Account Protection Mode: `Equity-based` (to monitor real-time including floating P\&L)
* Minimum Threshold: `96000`
* Maximum Threshold: `110000`

```mermaid theme={null}
flowchart LR
    subgraph Account Journey
        START[Start: $100,000] --> TRADE[Trading...]
        TRADE --> CHECK{Monitor Equity}
        CHECK -->|Equity ≥ $110,000| WIN[🎉 Target Hit!<br/>Close & Stop]
        CHECK -->|$96,000 < Equity < $110,000| TRADE
        CHECK -->|Equity ≤ $96,000| LOSS[⚠️ DD Limit Hit!<br/>Close & Stop]
    end

    style WIN fill:#22c55e,color:#fff
    style LOSS fill:#ef4444,color:#fff
    style CHECK fill:#3b82f6,color:#fff
```
