Appearance
Are you an LLM? You can read better optimized documentation at /reference/settings-contract.md for this page in Markdown format
Settings Contract
This is the source-of-truth reference for what each trading setting defaults to, what values it accepts, and how it behaves. It is grouped the way the settings live in the platform, so you can find a control without hunting.
Defaults are new-account starting points
A default here is the value a new account starts with. Editing this documentation never changes anything in your account — your saved settings are always preserved. If you've already tuned a setting, that saved value stays as it is; the default only fills in for brand-new accounts and any setting you never touched.
Where the platform is currently inconsistent about an exact number, this page describes the behavior as a range or a group rather than printing a figure that might not match what you see. Those cases are called out inline.
Sizing
How much volume each trade uses, and how it is split.
- Base Position Size —
fixed·fixed/percentage/fixed_usd· Whether every trade uses the same lot size, is sized from a percentage of your account balance, or risks a fixed amount of money. Where:/dashboard/settings/sizing→ Position Sizing & Risk.volumeMode - Fixed Lots —
0.1· number · The lot size used for every trade when the position size is set to fixed lots. Where:/dashboard/settings/sizing→ Position Sizing & Risk.fixedVolumeLots - % of Balance —
2· number · The share of your account balance put at risk on each trade when the position size is set to a percentage. Where:/dashboard/settings/sizing→ Position Sizing & Risk.riskPercentPerTrade - Fixed Risk —
null· number · The amount of money risked on each trade when the position size is set to a fixed risk amount, in the account's own currency. Where:/dashboard/settings/sizing→ Position Sizing & Risk.fixedRiskAmount - Count broker credit as tradable capital —
true· On / off · Whether broker-granted credit counts towards the balance percentage sizing is calculated from. Where:/dashboard/settings/sizing→ Position Sizing & Risk.countCreditAsCapital - Number of Layers —
4· number · How many entry layers a trade is split into across the entry zone, from 1 to 6 — layer 1 nearest the market, the last one deepest. Where:/dashboard/settings/entries→ Entry Configuration.numberOfLayers - Orders per Layer —
3· number · How many separate orders each entry layer is split into; the adaptive engine works this out from your targets rather than reading the stored value. Where: no dashboard control. [derived by the engine] The stored number is not what the engine uses — it allocates orders per layer from how many take-profit levels the trade has, which is why there is no control for it. The number of orders you actually see on a trade is layers times the engine’s own per-layer count, capped at 36.ordersPerLayer - Volume Allocation —
standard·standard/low-balance/custom· Intended to select how volume is distributed across entry layers; stored and shown on a trade’s settings snapshot, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. The volume split across layers is fixed by the entry strategy today.volumeAllocation - Minimum Order Volume —
0.01· number · Intended as the smallest lot size any single order may be placed at; stored and shown on a trade’s settings snapshot, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. The broker’s own minimum lot size still applies and is what actually bounds order size today.minOrderVolume - Entry Strategy (Layer Distribution) —
even·even/front-loaded/martingale/single· How the trade’s volume is divided between the entry layers — evenly, weighted towards the first layer, weighted towards the deepest, or all in one. Where:/dashboard/settings/entries→ Entry Configuration.entryStrategy
Entry
Where and how orders are placed within the entry zone.
- Entry Zone Size —
auto·auto/fixed· Whether the entry zone is sized as a share of the stop-loss distance ("Dynamic") or as a fixed number of pips. Where:/dashboard/settings/entries→ Entry Configuration.entryZoneMode - Fixed (pips) —
null· number · The width of the entry zone in pips when the entry zone size is set to fixed. Where:/dashboard/settings/entries→ Entry Configuration.entryZoneSizePips - Dynamic (% of Stop Loss) —
80· number · The width of the entry zone as a percentage of the stop-loss distance, minus a 5-pip buffer kept in front of the stop, when the zone size is dynamic. Where:/dashboard/settings/entries→ Entry Configuration.entryZonePercent - Layer Entry Spacing —
standard·standard/aggressive/conservative· Intended to control how far apart the entry layers sit inside the zone; stored and shown on a trade’s settings snapshot, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Layer spacing today follows the entry zone width and the layer count.layerEntrySpacing - Entry Zone Expansion —
false· On / off · Widens a very narrow entry zone by a few pips so that the deeper layers are not all stacked on the same price. Where:/dashboard/settings/entries→ Entry Configuration.entryZoneExpansionEnabled - pips expansion —
null· number · How many pips a narrow entry zone is widened by, from 1 to 20. Where:/dashboard/settings/entries→ Entry Configuration.entryZoneExpansionPips - Execute Layer 1 at market on adverse move —
false· On / off · Enters layer 1 at the current market price when price has already moved past the signal’s entry, rather than leaving a limit order that may never fill. Where:/dashboard/settings/entries→ Entry Configuration.executeL1AtMarket - Tolerance (pips) —
5· number · How far past the signal’s entry price the market may already be and still be entered at market, from 1 to 200 pips. Where:/dashboard/settings/entries→ Entry Configuration.l1MarketToleranceInPips - Count the stop loss from —
fill·fill/signal· Which price your fixed-pips stop is measured from when layer 1 enters at market — the price it actually filled at, or the entry the signal stated. Where:/dashboard/settings/entries→ Entry Configuration.slAnchorMode - Best-Price Entry —
false· On / off · Places layer 1 at the far edge of the entry zone instead of near the market — a better price and reward-to-risk, at a lower chance of filling at all. Where:/dashboard/settings/entries→ Entry Configuration.bestPriceEntryEnabled
Overrides
When TTMT replaces a signal’s values with your own, and what happens when you move a stop or target yourself. See Override modes.
- Override signal entry zone —
false· On / off · Uses your own entry zone size even when the signal states a zone of its own. Where:/dashboard/settings/entries→ Signal Overrides.entryZoneOverrideSignal - Override signal SL —
false· On / off · Replaces the signal’s stop loss with your own default stop distance instead of using the level the channel gave. Where:/dashboard/settings/entries→ Signal Overrides.slOverrideSignal - Override signal TPs —
false· On / off · Replaces the signal’s take-profit levels with your own defaults instead of using the targets the channel gave. Where:/dashboard/settings/entries→ Signal Overrides.tpOverrideSignal - Invalid SL Handling —
use_default·use_default/use_signal· What to do when a signal’s stop loss is on the wrong side of the entry or otherwise unusable — substitute your default distance, or take the signal’s value as given. Where:/dashboard/settings/entries→ Stop Loss Configuration.invalidSlBehavior - Override Behavior —
leave_as_is_restore_on_modify·force_restore/leave_as_is_never_touch/leave_as_is_restore_on_modify· What the platform does when you move a stop or target yourself in MT4 or MT5 — put its own value back, never touch it again, or leave it until the next signal update. Where:/dashboard/settings/management→ Manual Override Behavior.behavior
Take Profit
Which targets are used, and how volume is split across them. See TP redistribution.
- Default Stop Loss —
60· number · How far the stop loss sits from entry, in pips, when the platform supplies its own stop. Where:/dashboard/settings/entries→ Stop Loss Configuration.defaultSLPips - TP1 —
20· number · How far take-profit 1 sits from entry, in pips, when the platform supplies its own targets. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP1Pips - TP2 —
40· number · How far take-profit 2 sits from entry, in pips, when the platform supplies its own targets. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP2Pips - TP3 —
60· number · How far take-profit 3 sits from entry, in pips, when the platform supplies its own targets. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP3Pips - TP4 —
80· number · How far take-profit 4 sits from entry, in pips, when the platform supplies its own targets. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP4Pips - TP5 —
100· number · How far take-profit 5 sits from entry, in pips, when the platform supplies its own targets. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP5Pips - TP6 —
120· number · How far take-profit 6 sits from entry, in pips, when the platform supplies its own targets. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP6Pips - TP Distance Unit —
pips·pips/rr_percent· Whether your own take-profit targets are expressed as pip distances or as multiples of the stop-loss distance. Where:/dashboard/settings/entries→ Take Profit Configuration.tpDistanceMode - TP1 —
100· number · Where take-profit 1 sits expressed as a percentage of the stop-loss distance — 100 is one multiple of risk, 300 is three. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP1RrPercent - TP2 —
200· number · Where take-profit 2 sits expressed as a percentage of the stop-loss distance — 100 is one multiple of risk, 300 is three. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP2RrPercent - TP3 —
300· number · Where take-profit 3 sits expressed as a percentage of the stop-loss distance — 100 is one multiple of risk, 300 is three. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP3RrPercent - TP4 —
400· number · Where take-profit 4 sits expressed as a percentage of the stop-loss distance — 100 is one multiple of risk, 300 is three. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP4RrPercent - TP5 —
500· number · Where take-profit 5 sits expressed as a percentage of the stop-loss distance — 100 is one multiple of risk, 300 is three. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP5RrPercent - TP6 —
600· number · Where take-profit 6 sits expressed as a percentage of the stop-loss distance — 100 is one multiple of risk, 300 is three. Where:/dashboard/settings/entries→ Take Profit Configuration.defaultTP6RrPercent - TP Strategy (Profit Distribution) —
progressive·progressive/balanced/extended/1tp/2tp/3tp/runner· How the trade’s volume is spread across its take-profit levels — front-loaded to bank profit early, even, or back-loaded to chase the trend. Where:/dashboard/settings/entries→ Take Profit Configuration.tpStrategy - Active TP Levels —
Keep signal· number · How many take-profit levels a trade uses — a hard cap from 1 to 6, or "Keep signal" to use every target the signal provided. Where:/dashboard/settings/entries→ Take Profit Configuration.tpCountLimit - Open TP (Runner Positions) —
disabled·disabled/last_tp_open· Lets the final take-profit level run with no fixed target — a "runner" managed by trailing or by hand rather than closed at a price. Where:/dashboard/settings/entries→ Take Profit Configuration.openTpMode - TP Fast Move Behavior —
keep_original_tp·close_immediately/keep_original_tp· What to do when a channel moves a take profit to a price the market has already passed — close the position at once, or keep the original target. Where:/dashboard/settings/management→ Signal Updates.tpFastMoveBehavior
Protection
Breakeven, trailing, stop management, and the Oracle’s pre-trade signal check.
- When to Trigger Breakeven —
1· number · Which take-profit level, once hit, moves the stop to breakeven — 0 turns automatic breakeven off. Where:/dashboard/settings/management→ Profit Protection.autoBreakevenFromTPLevel - Cancel pending orders when price reaches a take-profit —
1· number · Which take-profit level, once hit, cancels the trade’s still-unfilled limit orders — "Never" leaves them waiting. Where:/dashboard/settings/management→ Order Management.cancelLimitsFromTPLevel - Which trades this cancels on —
All trades·all/filled_only· Narrows the cancel above to trades that already have a filled entry, instead of applying it to every trade the target is reached on. Where:/dashboard/settings/management→ Order Management.cancelLimitsScope - Fast Market Protection —
skip·skip/close· Intended to choose what happens when a breakeven move would put the stop on the wrong side of the current price — leave the stop, or close the position; stored, but not yet applied. Where:/dashboard/settings/management→ Profit Protection. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Stored per account: the row with no account attached is your template (global default), and each connected account gets its own row copied from it (concepts/effective-settings). The breakeven guard does handle this fast-market case, but its unfavourable-price check is a hardcoded comparison that never consults this setting — so both options behave the same way today. A Config Profile can override this for the channels assigned to it; where the profile leaves it unset, this account value applies (concepts/effective-settings).tpBeUnfavorableAction - Orphan Order Cleanup —
true· On / off · Cancels a trade’s remaining unfilled orders once its stop loss has been hit, instead of leaving them to re-enter the losing setup. Where:/dashboard/settings/entries→ Stop Loss Configuration.cancelOrphansOnSL - TP Already at Price —
promote_to_next_tp·close_position/promote_to_next_tp· What to do with an order whose take-profit level the market has already passed — close it at market, or move it up to the next target. Where:/dashboard/settings/entries→ Take Profit Configuration.tpAlreadyHitAction - Auto-Breakeven —
true· On / off · Moves the stop loss to around the entry price once the trade reaches a chosen take-profit level, so the remaining position cannot lose. Where:/dashboard/settings/management→ Profit Protection.enabled - Signal-Driven Breakeven —
true· On / off · Acts on a channel’s own instruction to move to breakeven — a "risk free" or "move SL to entry" message — as well as on your automatic trigger. Where:/dashboard/settings/management→ Profit Protection.signalBreakevenEnabled - Buffer above entry —
2· number · How many pips beyond the entry price the breakeven stop is placed, so spread and commission do not turn a "breakeven" exit into a small loss. Where:/dashboard/settings/management→ Profit Protection.bufferPips - Multi-Level Breakeven —
false· On / off · Intended to step the stop up through several locked-in levels as the trade progresses, rather than moving it once to breakeven and leaving it; stored, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Stored per account: the row with no account attached is your template (global default), and each connected account gets its own row copied from it (concepts/effective-settings). The breakeven manager copies the value into its config object and nothing then branches on it; the one other mention hardcodes it to false. Switching it on changes nothing. The ladder of levels it would step through is a separate setting the engine does not read either, so both halves of multi-level breakeven are inert. Whatever this eventually does, it cannot park a stop on a take-profit price: every breakeven the engine writes is the position’s own entry price plus or minus the buffer, and nothing else.multiLevel - Breakeven Levels —
null· JSON object · Intended as the ladder of price steps multi-level breakeven would lock in; stored, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Verified against the breakeven manager: the config it builds carries only enabled, buffer and the multi-level switch — the ladder array is never read, so turning multi-level on does not make this take effect.levels - Breakeven Fallback —
keep_original·keep_original/progressive_sl/close_position· What to do when the breakeven stop cannot be placed where it should be — keep the original stop, move it as far as the broker allows, or close the position. Where:/dashboard/settings/management→ Profit Protection.fallbackAction - Enable Trailing Stop —
false· On / off · Follows a winning trade with the stop loss, locking in more of the move as price advances. Where:/dashboard/settings/management→ Profit Protection.enabled - Trailing Distance —
30· number · How far behind the current price the trailing stop follows, in pips. Where:/dashboard/settings/management→ Profit Protection.distancePips - Mode —
shadow·off/shadow/enforce· Whether the Oracle’s judgement on a signal is ignored, recorded without acting on it ("shadow"), or allowed to block the trade ("enforce"). Where:/dashboard/oracle→ Mode. Availability: Available on request.mode - Strictness —
balanced·lenient/balanced/strict· How readily the Oracle vetoes a signal it is doubtful about. Where:/dashboard/oracle→ Strictness. Availability: Available on request.strictness - Notify when blocked —
true· On / off · Sends you a notification each time the Oracle vetoes a signal. Where:/dashboard/oracle→ Notify when blocked. Availability: Available on request.notifyOnVeto - Zone entry point —
near·near/mid/far· Which point of an entry zone the Oracle judges a signal from — the near edge, the middle, or the far edge. Where:/dashboard/oracle→ Zone entry point. Availability: Available on request.zoneEntry
Automation
How follow-up signals and close instructions are applied to open trades.
- Behavior —
auto_correct·auto_correct/reject_extremities/use_signal· What to do with a signal price that is obviously wrong — a misplaced decimal, a stale level, a copy-paste artefact: correct it, reject the signal, or trade it as posted. Where:/dashboard/settings/entries→ Signal Quality & Safety.extremityBehavior - Signal Consistency Threshold (R:R) —
0.3· number · The lowest reward-to-risk a signal’s own levels may imply before the platform treats them as inconsistent. Where:/dashboard/settings/entries→ Signal Quality & Safety.signalConsistencyThreshold - TP Redistribution —
true· On / off · Pulls a layered trade’s targets closer as deeper layers fill. Off, every order keeps the take-profit it was placed with. Where:/dashboard/settings/management→ Order Management.enabled - Redistribution Timeout —
5· number · Intended to bound how long redistribution waits for further layers to fill before settling on the targets it has; stored, but no timer reads it. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Stored per account: the row with no account attached is your template (global default), and each connected account gets its own row copied from it (concepts/effective-settings). Redistribution fires on events — a layer filling, all layers filling, a follow-up. "Timeout" exists as one value of the trigger-reason list and nothing ever schedules it, so no elapsed time has ever caused a redistribution.timeoutMinutes - Redistribution Scenario Overrides —
null· JSON object · Intended to let you replace the redistribution table for particular fill scenarios; stored, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Redistribution today follows its built-in table — the shift by number of layers filled — with no per-scenario exceptions.scenarioOverrides - L1 Safety Lock —
true· On / off · Locks layer 1’s orders to the first take-profit once any deeper layer fills, turning that layer into a safety net rather than a target chaser. Where:/dashboard/settings/management→ Order Management.l1LockEnabled - Auto-update Stop Loss —
true· On / off · Applies a channel’s later stop-loss change to the open trade instead of leaving the original stop in place. Where:/dashboard/settings/management→ Signal Updates.autoUpdateSL - Auto-update Take Profit —
true· On / off · Applies a channel’s later take-profit change to the open trade instead of keeping the original targets. Where:/dashboard/settings/management→ Signal Updates.autoUpdateTP - Auto-execute partial closes —
true· On / off · Acts on a channel’s instruction to close part of the position — "close half", "take 50%" — rather than ignoring it. Where:/dashboard/settings/management→ Signal Updates.autoPartialClose - Auto-execute full closes —
true· On / off · Acts on a channel’s instruction to close the whole trade — "close now", "exit" — rather than leaving it to its own stop and targets. Where:/dashboard/settings/management→ Signal Updates.autoFullClose - Position Selection —
worst_first·worst_first/profit_only/proportional· Which of a layered trade’s positions a partial close takes off first — the worst performers, only the profitable ones, or a slice of each. Where:/dashboard/settings/management→ Signal Updates.partialCloseMode - Also cancel pending orders when a partial close is taken —
false· On / off · Cancels a trade’s remaining unfilled limit orders once a channel’s partial-close instruction has actually closed part of it, so the trade cannot open fresh positions while you are winding it down. If the instruction lands before anything has filled, it cancels every pending order and ends the trade instead. Where:/dashboard/settings/management→ Signal Updates.cancelPendingOnSignalPartialClose
Risk
Account-level protection. Risk limits are account-only — a profile never sets them. See Risk Limits and account halts.
- Risk Level —
normal·normal/mid/high· A coarse risk-appetite label kept in the data model after its control was removed from the dashboard; stored, but not applied to any trade. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Stored per account: the row with no account attached is your template (global default), and each connected account gets its own row copied from it (concepts/effective-settings). The engine does size trades by a risk level, but it reads the one the SIGNAL carries — a same-named field on the parsed signal, not this stored setting. The resemblance is why this row looked enforced for as long as it did. Every account keeps the "normal" default unless it was set before the control was removed.riskLevel - Daily Loss Limit —
5· number · How much of the account may be lost in a day, as a percentage, before the account is halted for the rest of it. Where:/dashboard/settings/risk→ Risk Limits.maxDailyLossPercent - Max Concurrent Trades —
100· number · How many trades may be open on this account at once; further signals are skipped while the account is at the limit. Where:/dashboard/settings/risk→ Risk Limits.maxOpenPositions - Max Position Size % —
2· number · Intended as a ceiling on how much of the account a single position may represent; stored and returned, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. To cap position size today, use the per-asset override’s Max Volume, which the engine does read.maxPositionSizePercent - Max Drawdown % —
20· number · Intended as a ceiling on account drawdown before trading stops; stored and returned, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. The daily loss limit is the drawdown control the engine does enforce — use that rather than relying on this.maxDrawdownPercent - Minimum Risk/Reward Ratio —
null· number · Intended to reject signals whose reward-to-risk falls below a floor; stored and returned, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. The Signal Consistency Threshold is a related check the engine does run, but it tests the signal’s internal arithmetic rather than filtering trades by quality.minRiskRewardRatio - Enable risk limits —
false· On / off · The master switch for the automatic daily halt: with it off, none of the daily loss or profit limits below do anything. Where:/dashboard/settings/risk→ Risk Limits.riskLimitsEnabled - Mode —
percent·percent/fixed· Whether the daily loss limit is expressed as a percentage of the account or as a cash amount. Where:/dashboard/settings/risk→ Risk Limits.dailyLossMode - Daily Loss Limit —
null· number · The cash amount that may be lost in a day before the account is halted, when the daily loss limit is expressed as a fixed amount. Where:/dashboard/settings/risk→ Risk Limits.maxDailyLossAmount - Mode —
percent·percent/fixed· Whether the daily profit target is expressed as a percentage of the account or as a cash amount. Where:/dashboard/settings/risk→ Risk Limits.dailyProfitMode - Daily Profit Target —
null· number · How much the account may gain in a day, as a percentage, before it stops taking new trades for the rest of it. Where:/dashboard/settings/risk→ Risk Limits.maxDailyProfitPercent - Daily Profit Target —
null· number · The cash gain that stops the account taking new trades for the day, when the daily profit target is expressed as a fixed amount. Where:/dashboard/settings/risk→ Risk Limits.maxDailyProfitAmount - On Breach Action —
false· On / off · Whether hitting a daily limit also closes every open position on the account, or only stops new trades being opened. Where:/dashboard/settings/risk→ Risk Limits.dailyPnlCloseAll - Per-Trade P&L Limit —
false· On / off · Turns on hard cash limits per trade, closing a single trade once its own loss or profit reaches a set amount. Where:/dashboard/settings/risk→ Per-Trade P&L Limit.tradePnlLimitsEnabled - Loss limit —
null· number · The cash loss at which a single trade is closed, whatever its stop loss says. Where:/dashboard/settings/risk→ Per-Trade P&L Limit.maxTradeLossAmount - Profit limit —
null· number · The cash profit at which a single trade is closed, whatever its targets say. Where:/dashboard/settings/risk→ Per-Trade P&L Limit.maxTradeProfitAmount
Config-profile overrides
What a Config Profile can replace for the channels assigned to it, plus the profile’s own daily P&L limits (which have no account-level counterpart to inherit from).
- Volume Mode — inherits the account value ·
fixed/percentage/fixed_usd· Sizes this profile’s trades by a fixed lot size, by a percentage of balance, or by a fixed amount of money, in place of the account setting. Where:/dashboard/settings/profiles/[profileId]→ Position Sizing.volumeMode - Lot Size — inherits the account value · number · The lot size used for this profile’s trades when its volume mode is fixed. Where:
/dashboard/settings/profiles/[profileId]→ Position Sizing.fixedVolumeLots - Risk % Per Trade — inherits the account value · number · The share of balance risked per trade on this profile’s channels when its volume mode is percentage. Where:
/dashboard/settings/profiles/[profileId]→ Position Sizing.riskPercentPerTrade - Fixed risk per trade — inherits the account value · number · The amount of money risked per trade on this profile’s channels when its volume mode is a fixed risk amount. Where:
/dashboard/settings/profiles/[profileId]→ Position Sizing.fixedRiskAmount - Risk Level — inherits the account value ·
normal/mid/high· A coarse risk-appetite label for this profile; the control was removed from the profile editor but the field is kept in the data model. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Left unset, this inherits the account setting: an unset profile field is not "off" — it simply falls back to whatever the account currently has configured (concepts/effective-settings). Applies only to signals from channels assigned to this Config Profile; every other channel keeps the account setting (concepts/effective-settings). The editor’s own code notes it was removed from the UI and retained in the backend.riskLevel - Number of Layers — inherits the account value · number · How many entry layers this profile’s trades are split into, from 1 to 6, in place of the account setting. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.numberOfLayers - Entry Strategy — inherits the account value ·
even/front-loaded/martingale/single· How volume is divided between this profile’s entry layers, in place of the account setting. Where:/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryStrategy - Entry Zone Mode — inherits the account value ·
auto/fixed· Whether this profile sizes the entry zone as a share of the stop distance or as a fixed pip width. Where:/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryZoneMode - Entry Zone Size — inherits the account value · number · The entry zone width in pips for this profile when its zone mode is fixed. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryZoneSizePips - Entry Zone % — inherits the account value · number · The entry zone width as a percentage of the stop distance, minus a 5-pip buffer kept in front of the stop, for this profile when its zone mode is auto. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryZonePercent - Always Use My Zone Size — inherits the account value · On / off · Uses this profile’s zone size even when the signal states a zone of its own. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryZoneOverrideSignal - Entry Zone Expansion — inherits the account value · On / off · Widens a narrow entry zone for this profile so the layers are not stacked together. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryZoneExpansionEnabled - Expansion Pips — inherits the account value · number · How many pips this profile widens a narrow entry zone by. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.entryZoneExpansionPips - Override Signal SL — inherits the account value · On / off · Replaces the signal’s stop loss with this profile’s default stop distance on its channels. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.slOverrideSignal - Override Signal TPs — inherits the account value · On / off · Replaces the signal’s take-profit levels with this profile’s defaults on its channels. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.tpOverrideSignal - Execute Layer 1 at Market on Adverse Move — inherits the account value · On / off · Enters layer 1 at market when price has already moved past the signal’s entry, for this profile’s channels. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.executeL1AtMarket - L1 Market Tolerance — inherits the account value · number · How far past the signal’s entry this profile will still enter at market, in pips. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.l1MarketToleranceInPips - Count the stop loss from — inherits the account value ·
fill/signal· Which price this profile measures a fixed-pips stop from when layer 1 enters at market — the actual fill, or the signal’s stated entry. Where:/dashboard/settings/profiles/[profileId]→ Entry Configuration.slAnchorMode - Best-Price Entry — inherits the account value · On / off · Places layer 1 at the far edge of the entry zone for this profile — a better price, a lower chance of filling. Where:
/dashboard/settings/profiles/[profileId]→ Entry Configuration.bestPriceEntryEnabled - TP Strategy — inherits the account value ·
progressive/balanced/extended· How this profile spreads volume across its take-profit levels — front-loaded, even, or back-loaded. Where:/dashboard/settings/profiles/[profileId]→ Take Profit.tpStrategy - Active TP Levels — inherits the account value · number · How many take-profit levels this profile’s trades use — a cap from 1 to 6, or "Keep signal" to use every target the signal gave. Where:
/dashboard/settings/profiles/[profileId]→ Take Profit.tpCountLimit - Open TP Mode — inherits the account value ·
disabled/last_tp_open· Lets this profile’s final take-profit level run with no fixed target, as a runner. Where:/dashboard/settings/profiles/[profileId]→ Take Profit.openTpMode - TP Already Hit Action — inherits the account value ·
close_position/promote_to_next_tp· What this profile does with an order whose target the market has already passed — close it, or promote it to the next target. Where:/dashboard/settings/profiles/[profileId]→ Take Profit.tpAlreadyHitAction - TP Distance Unit — inherits the account value ·
pips/rr_percent· Whether this profile’s own targets are expressed in pips or as multiples of the stop distance. Where:/dashboard/settings/profiles/[profileId]→ Take Profit.tpDistanceMode - Default SL — inherits the account value · number · The stop-loss distance in pips this profile uses when the platform supplies its own stop. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultSLPips - Default TP1 — inherits the account value · number · The take-profit 1 distance in pips for this profile’s channels, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP1Pips - Default TP2 — inherits the account value · number · The take-profit 2 distance in pips for this profile’s channels, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP2Pips - Default TP3 — inherits the account value · number · The take-profit 3 distance in pips for this profile’s channels, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP3Pips - Default TP4 — inherits the account value · number · The take-profit 4 distance in pips for this profile’s channels, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP4Pips - Default TP5 — inherits the account value · number · The take-profit 5 distance in pips for this profile’s channels, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP5Pips - Default TP6 — inherits the account value · number · The take-profit 6 distance in pips for this profile’s channels, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP6Pips - Default TP1 (% of SL) — inherits the account value · number · Where take-profit 1 sits for this profile’s channels as a percentage of the stop distance, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP1RrPercent - Default TP2 (% of SL) — inherits the account value · number · Where take-profit 2 sits for this profile’s channels as a percentage of the stop distance, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP2RrPercent - Default TP3 (% of SL) — inherits the account value · number · Where take-profit 3 sits for this profile’s channels as a percentage of the stop distance, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP3RrPercent - Default TP4 (% of SL) — inherits the account value · number · Where take-profit 4 sits for this profile’s channels as a percentage of the stop distance, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP4RrPercent - Default TP5 (% of SL) — inherits the account value · number · Where take-profit 5 sits for this profile’s channels as a percentage of the stop distance, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP5RrPercent - Default TP6 (% of SL) — inherits the account value · number · Where take-profit 6 sits for this profile’s channels as a percentage of the stop distance, replacing the account default. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).defaultTP6RrPercent - Invalid SL Behavior — inherits the account value ·
use_default/use_signal· What this profile does with an unusable stop loss from a signal — substitute its default distance, or take the value as given. Where:/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).invalidSlBehavior - Cancel Orphans on SL — inherits the account value · On / off · Cancels this profile’s remaining unfilled orders once a trade’s stop loss has been hit. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).cancelOrphansOnSL - Extreme Value Handling — inherits the account value ·
auto_correct/reject_extremities/use_signal· What to do with a signal price that is obviously wrong — a misplaced decimal, a stale level, a copy-paste artefact: correct it, reject the signal, or trade it as posted. Where:/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).extremityBehavior - Signal Consistency Threshold — inherits the account value · number · The lowest reward-to-risk this profile accepts from a signal’s own levels before treating them as inconsistent. Where:
/dashboard/settings/profiles/[profileId]→ SL/TP Defaults (Pips).signalConsistencyThreshold - Breakeven — inherits the account value · On / off · Moves the stop to around entry on this profile’s trades once a chosen take-profit level is reached. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.breakevenEnabled - Signal-Driven Breakeven — inherits the account value · On / off · Acts on this profile’s channels’ own "risk free" or "move SL to entry" instructions. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.signalBreakevenEnabled - BE Buffer — inherits the account value · number · How many pips beyond entry this profile places the breakeven stop, to cover spread and commission. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.breakevenBufferPips - Auto BE from TP Level — inherits the account value · number · Which take-profit level triggers breakeven on this profile’s trades; 0 turns it off. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.autoBreakevenFromTPLevel - BE Fallback Action — inherits the account value ·
keep_original/progressive_sl/close_position· What this profile does when the breakeven stop cannot be placed where it should be. Where:/dashboard/settings/profiles/[profileId]→ Profit Protection.beFallbackAction - Fast Market Protection — inherits the account value ·
skip/close· What this profile does when a breakeven move would put the stop on the wrong side of the current price. Where:/dashboard/settings/profiles/[profileId]→ Profit Protection. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Left unset, this inherits the account setting: an unset profile field is not "off" — it simply falls back to whatever the account currently has configured (concepts/effective-settings). Applies only to signals from channels assigned to this Config Profile; every other channel keeps the account setting (concepts/effective-settings).tpBeUnfavorableAction - Trailing Stop — inherits the account value · On / off · Follows this profile’s winning trades with the stop loss as price advances. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.trailingStopEnabled - Trailing Distance — inherits the account value · number · How far behind price this profile’s trailing stop follows, in pips. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.trailingStopDistancePips - Per-Trade P&L Limit — inherits the account value · On / off · Turns on hard cash limits per trade for this profile, closing a trade at a set loss or profit. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.tradePnlLimitsEnabled - Max Trade Loss — inherits the account value · number · The cash loss at which one of this profile’s trades is closed. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.maxTradeLossAmount - Max Trade Profit — inherits the account value · number · The cash profit at which one of this profile’s trades is closed. Where:
/dashboard/settings/profiles/[profileId]→ Profit Protection.maxTradeProfitAmount - TP Redistribution — inherits the account value · On / off · Pulls this profile’s targets closer as deeper entry layers fill, so an averaged-down trade needs less of a move. Where:
/dashboard/settings/profiles/[profileId]→ Order Management.redistributionEnabled - L1 Safety Lock — inherits the account value · On / off · Locks layer 1 to the first take-profit on this profile’s trades once a deeper layer fills. Where:
/dashboard/settings/profiles/[profileId]→ Order Management.l1LockEnabled - Cancel Limits from TP — inherits the account value · number · Which take-profit level cancels this profile’s still-unfilled limit orders; 0 leaves them waiting. Where:
/dashboard/settings/profiles/[profileId]→ Order Management.cancelLimitsFromTPLevel - Which trades this cancels on — inherits the account value ·
all/filled_only· Which of this profile’s trades the cancellation above reaches — every trade, or only the ones where an entry has already filled. Where:/dashboard/settings/profiles/[profileId]→ Order Management.cancelLimitsScope - Auto Update SL — inherits the account value · On / off · Applies a channel’s later stop-loss change to this profile’s open trades. Where:
/dashboard/settings/profiles/[profileId]→ Signal Updates.autoUpdateSL - Auto Update TP — inherits the account value · On / off · Applies a channel’s later take-profit change to this profile’s open trades. Where:
/dashboard/settings/profiles/[profileId]→ Signal Updates.autoUpdateTP - Auto Partial Close — inherits the account value · On / off · Acts on a channel’s instruction to close part of one of this profile’s positions. Where:
/dashboard/settings/profiles/[profileId]→ Signal Updates.autoPartialClose - Also cancel pending orders when a partial close is taken — inherits the account value · On / off · Cancels the remaining unfilled limit orders on one of this profile’s trades once a channel’s partial-close instruction has actually closed part of it. If the instruction lands before anything has filled, it cancels every pending order and ends the trade instead. Where:
/dashboard/settings/profiles/[profileId]→ Signal Updates.cancelPendingOnSignalPartialClose - Auto Full Close — inherits the account value · On / off · Acts on a channel’s instruction to close one of this profile’s trades outright. Where:
/dashboard/settings/profiles/[profileId]→ Signal Updates.autoCloseFull - Partial Close Strategy — inherits the account value ·
worst_first/profit_only/proportional· Which of this profile’s layered positions a partial close takes off first. Where:/dashboard/settings/profiles/[profileId]→ Signal Updates.partialCloseMode - TP Fast Move — inherits the account value ·
close_immediately/keep_original_tp· What this profile does when a channel moves a target to a price the market has already passed. Where:/dashboard/settings/profiles/[profileId]→ Signal Updates.tpFastMoveBehavior - Manual SL/TP Behavior — inherits the account value ·
force_restore/leave_as_is_never_touch/leave_as_is_restore_on_modify· What this profile does when you move a stop or target yourself in MT4 or MT5. Where:/dashboard/settings/profiles/[profileId]→ Manual Override.manualSlTpBehavior - Oracle Mode — inherits the account value ·
off/shadow/enforce· Whether the Oracle is off, recording its verdicts without acting, or blocking trades for this profile’s channels. Where:/dashboard/settings/profiles/[profileId]→ Oracle. Availability: Available on request.oracleMode - Oracle Strictness — inherits the account value ·
lenient/balanced/strict· How readily the Oracle vetoes a signal on this profile’s channels. Where:/dashboard/settings/profiles/[profileId]→ Oracle. Availability: Available on request.oracleStrictness - Zone entry point — inherits the account value ·
near/mid/far· Which point of the entry zone the Oracle judges this profile’s signals from. Where:/dashboard/settings/profiles/[profileId]→ Oracle. Availability: Available on request.oracleZoneEntry - Daily Loss Limit — no default · number · The cash amount this profile’s channels may lose in a day before they stop taking new trades. Where:
/dashboard/settings/profiles/[profileId]→ Daily P&L Limit (This Profile).profileMaxDailyLoss - Daily Profit Target — no default · number · The cash amount this profile’s channels may gain in a day before they stop taking new trades. Where:
/dashboard/settings/profiles/[profileId]→ Daily P&L Limit (This Profile).profileMaxDailyProfit - Pause + close this profile's trades —
false· On / off · Whether hitting this profile’s daily budget also closes its open trades, or only stops new ones being opened. Where:/dashboard/settings/profiles/[profileId]→ Daily P&L Limit (This Profile).profileDailyCloseTrades
Per-asset overrides
Overrides scoped to one asset class — Gold, indices, and so on — rather than the whole account.
- Add Override — no default · text · Which group of instruments this override covers — Forex Majors, Forex Minors, Metals, Indices, Crypto or Energies — or, for a single-instrument override, the instrument itself (e.g. XTIUSD), picked when you add it. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.assetKey - A single instrument… —
group·group/symbol· Whether the override covers a whole group of instruments or a single instrument. The dashboard creates both: pick a group, or "A single instrument…" and then the instrument. Where:/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.assetType - Volume Mode — inherits the account value ·
fixed/percentage/fixed_usd· How positions on this asset class are sized — a fixed lot size, a percentage of balance, or a fixed cash risk — in place of your global sizing. Where:/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.volumeMode - Fixed Volume (lots) — inherits the account value · number · The lot size used for every trade on this asset class when its volume mode is Fixed Lots. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.fixedVolumeLots - Risk % of Balance — inherits the account value · number · The percentage of account balance risked per trade on this asset class when its volume mode is percentage. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.riskPercent - Fixed risk (account currency) — inherits the account value · number · A fixed cash amount to risk per trade on this asset class, sized from the stop-loss distance. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.fixedRiskUsd - Max Volume (lots) — inherits the account value · number · A hard ceiling on the total lot size any single trade on this asset class may reach, whatever the sizing calculation produces. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.maxVolume - Override active —
true· On / off · Whether the override is applied; every override the dashboard creates is active, and deleting it is the way to stop it applying. Where: no dashboard control.enabled - Stop Loss (pips) — inherits the account value · number · The stop-loss distance used for this asset class when the platform supplies its own stop, in place of your global default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultSlPips - TP1 (pips) — inherits the account value · number · The take-profit 1 distance used for this asset class when the platform supplies its own targets, in place of your global TP1 default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultTp1Pips - TP2 (pips) — inherits the account value · number · The take-profit 2 distance used for this asset class when the platform supplies its own targets, in place of your global TP2 default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultTp2Pips - TP3 (pips) — inherits the account value · number · The take-profit 3 distance used for this asset class when the platform supplies its own targets, in place of your global TP3 default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultTp3Pips - TP4 (pips) — inherits the account value · number · The take-profit 4 distance used for this asset class when the platform supplies its own targets, in place of your global TP4 default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultTp4Pips - TP5 (pips) — inherits the account value · number · The take-profit 5 distance used for this asset class when the platform supplies its own targets, in place of your global TP5 default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultTp5Pips - TP6 (pips) — inherits the account value · number · The take-profit 6 distance used for this asset class when the platform supplies its own targets, in place of your global TP6 default. Where:
/dashboard/settings/entries→ Per-Asset Risk & Default TP/SL Overrides.defaultTp6Pips
Trading Hours
The execution schedule signals are allowed to trade within.
- Timezone — no default · text · The timezone the blocked hours are read in, so a schedule stays put against your trading day rather than drifting with daylight saving. Where:
/dashboard/settings/management→ Trading Hours.timezone - Execution Schedule —
[]· JSON object · The hours of the week during which signals are not executed, painted on a Monday-to-Sunday grid. Where:/dashboard/settings/management→ Trading Hours.windows
Loss-streak reduction
Automatic position-size reduction after consecutive losses on a channel.
- Loss-Streak Risk Reduction —
false· On / off · Turns on automatic size reduction for this channel and account after a losing trade, with full size restored by a winner. Where:/dashboard/channels/[id](Execution tab) → Loss-Streak Risk Reduction. Availability: Limited preview.enabled - Compounding —
compound·compound/fixed· How fast size falls as losses stack up: "Compounding" halves again with each further loss, "Fixed 50%" drops to half and stays there. Where:/dashboard/channels/[id](Execution tab) → Loss-Streak Risk Reduction. Availability: Limited preview.curve - Minimum risk floor —
0.125· number · The smallest fraction of your normal size a losing run can shrink to — 0.5, 0.25 or 0.125 (half, a quarter or an eighth). Where:/dashboard/channels/[id](Execution tab) → Loss-Streak Risk Reduction. Availability: Limited preview.floorMultiplier - Reset to full size —
session·session/continuous· Whether the losing run is forgotten at the start of each trading session, or carries on until a winning trade clears it. Where:/dashboard/channels/[id](Execution tab) → Loss-Streak Risk Reduction. Availability: Limited preview.resetMode - Also reduce if this channel has a losing trade open —
false· On / off · Counts a trade that is currently open and under water as a loss, so size is reduced before that trade has actually closed. Where:/dashboard/channels/[id](Execution tab) → Loss-Streak Risk Reduction. Availability: Limited preview.countOpenLosers
Channel settings
Per-channel signal handling — execution mode, defaults, and duplicate protection.
- Signal Execution Mode —
complete_only·complete_only/execute_on_alert· Whether this channel’s signals are executed only once they carry an entry, a stop loss and at least one target, or immediately on the first alert with later messages applied as changes. Where:/dashboard/channels/[id](Execution tab) → Signal Execution Mode.executionMode - Update window —
30· number · How long after a signal a follow-up message from the same channel is still treated as an update to it rather than as a new signal. Where: no dashboard control.followupWindowMinutes - Duplicate protection —
5· number · How long a near-identical repeat of a signal from the same channel is ignored, so a re-post does not open the trade twice. Where: no dashboard control.suppressionWindowMinutes - Default Stop Loss —
null· number · The stop-loss distance used for this channel’s signals when the platform supplies its own stop. Where:/dashboard/channels/[id](SL/TP tab) → Default Stop Loss.defaultSlPips - Default TP count —
null· number · Intended to say how many take-profit levels this channel’s signals use when the platform supplies its own targets; stored, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Set per channel and applied to that channel's signals only; leaving it unset falls back to the account setting (concepts/effective-settings). The only code in the engine that reads this setting is never called by the running service — only its own tests exercise it — so no live path branches on it. The account-level Active TP Levels setting is where the number of targets is actually chosen.defaultTpCount - TP1 —
null· number · The take-profit 1 distance used for this channel’s signals when the platform supplies its own targets. Where:/dashboard/channels/[id](SL/TP tab) → Default Take Profits.defaultTp1Pips - TP2 —
null· number · The take-profit 2 distance used for this channel’s signals when the platform supplies its own targets. Where:/dashboard/channels/[id](SL/TP tab) → Default Take Profits.defaultTp2Pips - TP3 —
null· number · The take-profit 3 distance used for this channel’s signals when the platform supplies its own targets. Where:/dashboard/channels/[id](SL/TP tab) → Default Take Profits.defaultTp3Pips - TP4 —
null· number · The take-profit 4 distance used for this channel’s signals when the platform supplies its own targets. Where:/dashboard/channels/[id](SL/TP tab) → Default Take Profits.defaultTp4Pips - TP5 —
null· number · The take-profit 5 distance used for this channel’s signals when the platform supplies its own targets. Where:/dashboard/channels/[id](SL/TP tab) → Default Take Profits.defaultTp5Pips - TP6 —
null· number · The take-profit 6 distance used for this channel’s signals when the platform supplies its own targets. Where:/dashboard/channels/[id](SL/TP tab) → Default Take Profits.defaultTp6Pips - Limit Order Timeout —
null· number · How long this channel’s unfilled limit orders are left waiting before they are cancelled, in minutes. Where:/dashboard/channels/[id](Execution tab) → Limit Order Timeout.limitOrderTimeoutMinutes - Apply defaults to incomplete signals only —
true· On / off · Intended to confine this channel’s stop and target defaults to filling gaps in an incomplete signal rather than replacing levels it already carries; stored, but not yet applied. Where: no dashboard control. Enforcement planned (not yet applied by the engine): the value is stored and returned, but no part of the trading engine reads it yet — do not rely on it as a guardrail. Set per channel and applied to that channel's signals only; leaving it unset falls back to the account setting (concepts/effective-settings). The engine reads the column into its channel-settings object and never branches on it. The account-level Signal Overrides card is where replacing a signal’s own levels is actually chosen.applyToIncompleteOnly - Correction window —
30· number · How long after a signal an edit or correction from the channel is folded into it instead of being read as a separate instruction, in seconds. Where: no dashboard control.correctionWindowSeconds - Two-phase signal —
false· On / off · Superseded flag for channels that post an alert first and the levels afterwards; the Signal Execution Mode setting replaced it. Where: no dashboard control. [deprecated] Set per channel and applied to that channel's signals only; leaving it unset falls back to the account setting (concepts/effective-settings). Kept so channels configured before the change keep resolving. Use Signal Execution Mode instead — set it to "execute on alert" for this behaviour.twoPhaseSignal - Follow-up suppression window —
300000· number · Superseded millisecond form of the duplicate-protection window; the minutes-based setting replaced it. Where: no dashboard control. [deprecated] Set per channel and applied to that channel's signals only; leaving it unset falls back to the account setting (concepts/effective-settings). Kept for channels configured before the change. Duplicate protection is expressed in minutes now.followupSuppressionWindowMs - Allow All Symbols —
null· list of strings · The instruments this channel is allowed to trade; with the allow-all switch on, every symbol the channel posts is accepted. Where:/dashboard/channels/[id](Filters tab) → Allow All Symbols.allowedSymbols - Blacklisted words & phrases —
null· list of strings · Words and phrases that make the platform ignore a message from this channel entirely, for filtering out commentary, promotions and educational posts. Where:/dashboard/channels/[id](Filters tab) → Blacklisted words & phrases.blacklistedStrings - Allow all topics —
null· list of numbers · Which topics of a Telegram forum channel are watched; with the allow-all switch on, every topic is read. Where:/dashboard/channels/[id](Topics tab) → Allow all topics.allowedForumTopicIds - Default Symbol —
null· text · The instrument assumed when this channel posts a signal without naming one — for a channel that only ever trades one market. Where:/dashboard/channels/[id](Execution tab) → Default Symbol.default_symbol
Account
Per-connected-account identity and control.
- Click to rename — no default · text · Your own name for this account, shown everywhere in the dashboard in place of the broker’s; clearing it restores the broker name. Where:
/dashboard/accounts→ Account Details.custom_name - Currency — no default ·
USD/EUR/GBP/JPY/AUD/CAD/CHF/NZD/SGD/HKD/ZAR· The currency this account is denominated in, used to format every balance, P&L figure and cash limit shown for it. Where:/dashboard/accounts→ Account Details. [derived by the engine] Set per connected account, so a demo and a live account can be named, denominated and paused independently. The broker connection overwrites this value from the account’s live status on every refresh, so a manual edit does not survive the next sync — the currency picker is worth using only to correct a display while the account is disconnected. The engine writes the column and reads it back only as a fallback for what it just wrote; no conversion arithmetic anywhere consults it. Totals across accounts in different currencies are never converted — the dashboard reports them per account.base_currency - Pause Trading —
true· On / off · Pausing an account stops it opening new trades while leaving the connection, the open positions and their management running. Where:/dashboard/accounts→ MetaTrader Accounts.trading_enabled - Disconnect —
true· On / off · Whether the account is connected; disconnecting takes it out of the platform entirely and stops all monitoring of it. Where:/dashboard/accounts→ MetaTrader Accounts.is_active
Notifications
Which Telegram notifications you receive.
- Signal Received —
true· On / off · Sends a Telegram message when a new trading signal is detected on one of your channels. Where:/dashboard/settings/notifications→ Notification Types.notify_signal_received - Signal Modifications —
true· On / off · Sends a message when a follow-up signal modifies one of your open trades — a moved stop loss, a new take profit, or a breakeven instruction. Where:/dashboard/settings/notifications→ Notification Types.notify_signal_modified - Trade Opened —
true· On / off · Sends a message when a trade is executed on your account. Where:/dashboard/settings/notifications→ Notification Types.notify_trade_opened - Trade Closed —
true· On / off · Sends a message when a trade is fully closed, with its realized result. Where:/dashboard/settings/notifications→ Notification Types.notify_trade_closed - Take Profit Hit —
true· On / off · Sends a message each time one of the trade’s take-profit levels is reached. Where:/dashboard/settings/notifications→ Notification Types.notify_tp_hit - Stop Loss Hit —
true· On / off · Sends a message when a stop loss is triggered. Where:/dashboard/settings/notifications→ Notification Types.notify_sl_hit - Broker Errors —
true· On / off · Sends a message when the broker rejects an order or the connection to it fails. Where:/dashboard/settings/notifications→ Notification Types.notify_broker_error - Warnings —
true· On / off · Sends system warnings and alerts that do not stop trading but are worth knowing about. Where:/dashboard/settings/notifications→ Notification Types.notify_warning - Manual Actions —
true· On / off · Sends a message when you change a position yourself in MT4 or MT5, so the platform’s view and yours stay in step. Where:/dashboard/settings/notifications→ Notification Types.notify_manual_action - Signal Failures —
true· On / off · Sends a message when a signal was recognised but could not be executed. Where:/dashboard/settings/notifications→ Notification Types.notify_signal_failed
Preferences
Display and locale preferences.
- Display Currency — no default · text · The currency every balance and P&L figure in the dashboard is converted to for display. Where:
/dashboard/profile→ Preferences.display_currency - Timezone —
UTC· text · The timezone used to present dates and times in the dashboard, defaulting to UTC. Where: no dashboard control.timezone - Locale —
en-US· text · The locale used to format numbers, dates and currency amounts in the dashboard, defaulting to en-US. Where: no dashboard control.locale
Related pages
- Quick Reference
- Glossary
- How orders are placed
- Override modes
- TP redistribution
- Entry zone expansion
- Position protection
- Risk Limits and account halts
- Runner positions
This page is generated from the platform’s settings registry — see How this page is generated below. It updates automatically when a setting changes; it is never hand-edited.
Generated from the settings registry
This page is rendered by scripts/gen-settings-contract.ts from docs/.generated/settings-registry.json, a committed copy of the frontend's settings-registry.json export. Run pnpm gen:settings-contract after the registry changes, then commit both files — pnpm build fails (--check) if this page and the committed registry copy ever disagree.

