Skip to main content
330 changes shipped

Everything we shipped, including the mistakes.

New features, improvements, and the bugs we found and fixed. When a fault cost our traders money, the entry says how much. Updated .

Want the longer version? We write up the bigger releases on the blog, with what changed and why it matters to your trades.

9 changes

Limit orders that keep their timeout, and a loss halt that a bad number cannot trip

A clean-up job cancelled resting limit orders long before the timeout you set, on 13 trades for 4 traders in the last 30 days, and the same timeout now also retires unfilled layers on a running trade. Percentage sizing on cent gold no longer reads 100 times the risk, and a self-hosted position whose profit arrives unconverted can no longer halt your trading.

Fixed·Trading engine

Resting limit orders were cancelled before the timeout you set

A clean-up job that runs every six hours cancelled every pending or placed order older than three hours, whatever Limit Order Timeout your channel had. In the 30 days before the fix that cancelled 82 limit orders on 13 trades for 4 traders. One trader lost all 16 limit orders of a gold trade six hours and 25 minutes after placement, on a channel set to 1,440 minutes. The clean-up now leaves any order that has a broker ticket alone. A timeout you set yourself also does a second job: on a trade that is already running, it cancels the layers that have not filled, once the broker confirms they are still resting. The default timeout does not do this, only one you set. This changes live trades. Over the same 30 days, 1,317 later-layer fills on 167 trades for 11 traders happened after a timeout their channel had set, and under the new rule those orders would have been cancelled instead of filling.

Fixed·Risk

Percentage sizing on cent gold read 100 times the risk

On a cent account trading JustMarkets gold (XAUUSD.c), the broker reports a contract size of 1 and our sizing kept the larger standard figure of 100. Risk was read 100 times too high, so percentage trades were refused with a message like would risk $600.00 against your $194.31 budget, or placed at the 0.01 minimum. The broker's own tick value now settles the conflict in favour of the smaller contract when it backs it up, and lot sizes on those trades go up as a result: 0.01 lots becomes about 0.32 at 3% risk on 6,477 USC. This covers cloud accounts. Self-hosted cent accounts are not fixed yet. When we measured on 24 September, 8 active cloud accounts reported a contract size of 1 on gold, 6 of them in USC.

Fixed·Risk

Daily loss halts on a loss that never happened

A self-hosted position's profit could arrive without its currency conversion, around 150 times too large on a yen leg, and a daily loss limit then halted trading on a floating loss that did not exist. The 25 September release checked each position against its own price move. Two more holes are closed. A floating loss can no longer count for more than the position's stop loss allows, and the halt message shows what you have booked and what is floating, in your account currency, adding up to the total on the pause banner. Self-hosted accounts also get the floating figure from the bridge that runs your terminal, which converts it using the currency fields the broker reports, cent accounts and yen pairs included, instead of the gateway working it out from tick values. In the 30 days before, 76 halts were on self-hosted accounts against 5 on cloud accounts, and 6 of the 13 self-hosted profile halts were corrupt readings, 5 of them with a yen leg.

Improvements

1
  • Explore channel pages got a layout pass. The owner badge no longer breaks the grid, the chips share one scale, the buttons sit in a fixed order and the sidebar stays in view as you scroll. · Explore

Fixes

5
  • A fixed-pips entry zone was ignored when Override signal zone was off. A signal with no zone of its own got the automatic percentage zone, while the preview and simulator showed your fixed pips. The engine now follows the setting you configured, kept at least 5 pips from the stop. It applied to 61 account settings and 11 profiles. · Trading engine
  • A saved daily loss limit of 150 showed as an empty field on the profile page. The field now shows what you saved, and a zero or negative entry reverts instead of erasing it. · Risk
  • Every time a daily limit skipped a signal, the notification said Trading Paused and told you to enable trading on the Accounts page, which was untrue and could not help. A skip now says which limit stopped it and links to that profile's daily limit card. · Notifications
  • The symbol warning banner came back every time the page reloaded, so one trader dismissed the same failure more than 20 times. A dismissal now holds until the facts change. The banner names a self-hosted account by its login and broker instead of its container name, and links to the matching fix card when your broker's symbol is an exact match. · Accounts
  • Typing an email address into MetaTrader Account Number showed Too big: expected string to have <=20 characters. The field now says what is wrong for an email, for letters and for too many digits, and Connect stays disabled so no credential check is spent. · Accounts
17 changes

A limit on active Telegram channels, and entry zones that fit tight stops

Every plan now caps how many Telegram channels can be active at once: Essential and Challenge run up to 20 at once, Pro, Master and Lifetime up to 50, and nothing already running was switched off. Layered entries were refused whenever a stop was tight for your entry zone setting, and the TP Redistribution switch did nothing when you turned it off. Both change how your trades are placed and managed from today.

New·Channels

A limit on how many Telegram channels can run at once

Until today no plan limited how many Telegram channels you could run. Each plan now caps the channels that can be active at the same time: 20 on Essential and Challenge, 50 on Pro, Master and Lifetime. Paused channels don't count toward it. If you already run more than your cap, nothing was switched off and every running channel keeps running, but you can't activate another until you are back under the limit. Every way of adding a channel tells you that at the point you hit it. The channels page shows your count as you get close, for example 18 / 20 active channels on Essential. Two paying traders were above their cap on the day it went live. The $10 a month extra-channel add-on is gone; nobody was using it.

Fixed·Trading engine

Layered entries were refused on stops that were tight for your zone setting

The deepest layer of a trade has to sit at least 5 pips from the stop loss. The entry zone percentage was taken of the whole stop, so at 80% any stop under 25 pips put that layer inside the 5 pips and the whole trade was refused. In the 30 days before the fix that happened to 99 signals for 16 traders, 85 of them on gold, and the error told you to use fewer layers, which changes nothing. The percentage now applies to the stop distance minus those 5 pips. A fixed-size zone, or a zone from the signal, is shortened on its stop-loss side to fit, and the trade's detail page says by how much. A stop tighter than 5 pips trades as one entry with your full volume, the same as a single-layer setup. A signal whose own zone contains its stop loss is still refused. If you trade auto zones with more than one layer, your limit orders now sit at different prices than they did before 24 September.

Fixed·Trading engine

Turning off TP Redistribution did nothing

The TP Redistribution switch was saved and loaded with your settings, and then nothing in the engine read it. If you turned it off, your take-profits were still moved every time a deeper layer filled. One trader switched it off in all 19 of his profiles on 21 September and had 22 trades redistributed afterwards. Off now means each filled position keeps the take-profit level it was placed with, and only the prices follow a channel's update. The trade preview shows the same. When we measured on 23 September the switch was off on 17 account settings belonging to 14 traders and on 36 profiles in use by 9, so if that is you, your open trades now behave the way the switch says.

Also new

1
  • If you remove an account from a channel and add it back within 30 days, it comes back on the config profile it had, and you see that before you save. You can choose account defaults instead. · Channels

Improvements

2
  • Pro now includes 5 MetaTrader accounts, up from 3, and Master includes 10, up from 5. Essential and Challenge stay at 1 and Lifetime at 5. · Billing
  • Trade explanations quote amounts in the currency of the account the trade was placed on. · Dashboard

Fixes

11
  • Assign Channel in the profile editor wrote to whichever account the header had selected, without naming it, so a profile set up from one account's view could replace the profiles running on another. It did for 2 traders. Every place you assign a profile now names the account, lets you pick another, and asks before replacing a profile that is already running. A profile you create from an account's view now shows there under Not assigned yet. · Channels
  • With Best-Price Entry on, a signal written as ENTRY: 4287.5/95 could be read as one price plus a zone. On SELL signals that put every first-layer order at the shallow edge, 4287.5, instead of the deep edge at 4295. An entry that only repeats an edge of the signal's own zone is now treated as the zone. · Trading engine
  • A channel message read as a partial close, on a trade with nothing filled yet, cancelled every pending order and ended the trade, even with "Also cancel pending orders when a partial close is taken" switched off. That setting now decides unfilled trades too. If it is off, the pending orders stay. · Trading engine
  • Three times this month a daily loss halt tripped on a floating loss that did not exist, because a self-hosted position's profit arrived without its currency conversion, around 150 times too large. Each position's floating figure is now checked against its own price move, size and exchange rate, and one that disagrees by more than three times is replaced with the figure worked out from the price before any halt or close uses it. · Risk
  • A profile daily loss limit is meant to need two consecutive breaching price updates before it halts. With two or more trades on the profile it could halt on one, because each trade counted as an update. It now counts price updates. · Risk
  • The trade log, trade detail, position log, performance pages, risk limits and settings thresholds still printed a dollar sign in places, whatever your account currency. Every figure now shows the currency of the account it belongs to, and figures from accounts in different currencies are never added together at face value. · Dashboard
  • Since December 2025, checkout with a referral or discount code failed with an error, because we sent Stripe the discount and the promotion-code box together and Stripe refuses that. A checkout now carries one or the other. · Billing
  • A self-hosted account set up before we changed how our bridge authenticates could not reconnect. Its connection restarted in a loop and never reached the broker, which kept one trader's account, 2,781 trades of history, offline for three days. Those accounts reconnect now, and if your broker password changed you can enter the new one in the reconnect step instead of adding the account again. · Accounts
  • Redeploying a trading account, or our resuming channels after a platform-wide pause, could switch back on channels you had stopped yourself. Only channels we paused are restored now. · Channels
  • On an Android phone, typing DISCONNECT to confirm a disconnect could leave the button greyed out with no reason given, because the keyboard capitalised only the first letter or added a space. One trader spent 40 minutes on it. Case and surrounding spaces no longer matter, and the dialog fits on a phone screen. · Accounts
  • On a phone, the support button sat on top of the Sign Up Free bar on public channel pages and covered it. · Explore
13 changes

Money figures that name their own currency, and Telegram links we checked ourselves

Every row of the Activity Feed was labelled in US dollars, whatever currency the account was denominated in, which reads a hundred times wrong on a cent account. Channel analytics could answer for all of your accounts at once while labelling the answer as one. Explore channel pages now carry a Telegram link we have opened ourselves, with the date we last checked it.

Fixed·Dashboard

Every Activity Feed row was labelled in US dollars

The Activity Feed read your account currency from a field the trade list has never carried, so the fallback to USD won every time. On an account denominated in cents, USC or GBC, that label reads a hundred times wrong, and on a yen account it put a dollar sign in front of a yen figure. The feed shows trades from more than one account on purpose, so the currency belongs to the row. Each row now carries the currency of the account that trade was placed on, and the direction of the trade is read from the trade itself.

Fixed·Channels

Channel signal frequency could answer for every account you own

Channel analytics builds the list of signals your account has traded before it can scope the answer to that account. Nothing checked whether that read succeeded. When it failed the list came back empty, an empty list removed the account filter altogether, and the page answered with your signal frequency across all of your accounts while still labelling it as one account's. An account that had genuinely never traded took the same path and saw everything rather than nothing. The read now fails loudly, and an empty list returns no rows.

New·Explore

Verified Telegram links and access on Explore

Channel pages on Explore now show how you get into a channel and a Telegram link we have opened and checked ourselves, with the date of that check next to it. 828 listed channels carry one, and the checks run again every day. Where we have no working link the page says so instead of sending you to whoever is selling access, and a link that has gone stale expires against the clock on your device rather than ours.

Also new

1
  • If you arrive from a channel's public page, onboarding starts with that channel and shows its signals arriving before you reach the card step. · Channels

Improvements

4
  • The trade log sent the entire signal record for every row to deliver one channel name. On a real 15-row page that was 32 kB of 114 kB. · Dashboard
  • The Telegram buttons on public channel pages meet WCAG AA contrast. · Explore
  • A signup that never finishes setup has its trading container paused after 72 hours rather than 10 days. You can start it again yourself from the paused page, and doing so does not ask you to pay first. · Accounts
  • Connecting your first broker account now needs a subscription that Stripe confirms is live at that moment, rather than trusting our own copy of the status. · Billing

Fixes

5
  • When Stripe cancels a subscription after its final retry fails, it sends the cancellation and the last payment failure in the same second and does not promise an order. The payment failure arrived up to 763 ms later and wrote the status back to past_due, so 17 subscriptions showed a failed payment on an account Stripe had already closed. A payment failure can no longer overwrite a cancelled subscription, and every live subscription status is re-read from Stripe once an hour. · Billing
  • Signup told our email system that every new account was on a trial, before any subscription existed. On 21 September that sent an onboarding email about a trial clock running to 69 people, 61 of whom had no subscription at all. Signup now reports no trial until one exists. · Billing
  • When the read of the channels you follow failed, the library told you that you follow none of them. It now reports the failure instead of presenting it to you as an answer. · Channels
  • A channel page left open in a tab cut a fresh Telegram link every minute. A link now ages out once, against the time you opened the page. · Explore
  • A channel that is free to join no longer shows a link belonging to someone reselling access to it. · Explore
12 changes

Sizing that holds its rate, and a Telegram login that stopped making things worse

When your terminal could not price the currency pair behind a percentage or cash-risk trade, sizing dropped to your fixed lot without saying so, 1,517 times across 6 traders since 30 July. That conversion now resolves from the rate store the platform already keeps. The Telegram login step also loses Resend, which started a fresh login request every time it was pressed and deepened the very silence it was meant to break.

Fixed·Risk

Percentage sizing fell back to your fixed lot when a pair could not be priced

Sizing a trade by percentage of balance, or by a cash amount, needs the rate between the symbol's profit currency and your account currency. The engine read that rate from whatever quote your terminal happened to be holding, and when it was not there, sizing dropped to the fixed lot field, which you are told applies only in Fixed mode. That happened 1,517 times across 6 traders since 30 July, once risking 87.16 EUR against a 17.43 EUR budget. When the live quote is missing, the conversion now resolves from the platform's own rate store, and the trade sizes the way you set it.

Fixed·Integrations

Resend on the Telegram code step made the code less likely to arrive

Telegram delivers our login codes inside the Telegram app, and it sometimes stops delivering to a number for hours without reporting an error. The only control on that screen was Resend, which started a new login request and extended the block. Of 155 people who requested a code in the last 120 days, 21 waited longer than two minutes or never got in at all. Resend is gone. The screen now says where the code actually arrives, opens a help panel after a minute, and on a desktop offers a QR code you can scan from a phone that is already signed in to Telegram.

Fixed·Accounts

A broker symbol warning that said trades were failing when they were not

The symbol health banner told 20 traders that trades were failing silently, for broker symbol mappings that had never been used. Of 192 flagged rows, only 9 named a symbol that had ever appeared in a signal. A mapping now counts as broken only when it has actually caused a failure, or when the symbol has appeared in your signals; everything else reads as a warning that nothing is failing yet. A real symbol failure was never silent: it writes an error on the signal and sends you a Telegram notification.

Also new

1
  • The dashboard hero draws your daily profit and loss as bars with a running total, over 7, 14 or 30 days depending on how much the account has traded and how wide the card is. · Dashboard

Fixes

8
  • Weekly profit and signal counts started at Sunday midnight in the server's timezone. They now cover the last seven days in your own timezone, the same window the hero chart draws. · Dashboard
  • The performance metric cards came back empty if you run an ad blocker, because a common filter list matched the address they read from. They are served from one it does not match. · Dashboard
  • A repeat warning about a broker symbol mapping we cannot fix now reaches you at most once every 30 days per symbol. It had been firing on every revalidation pass: 10,740 notices since 11 June, 5,161 of them in the last 30 days across 59 traders, one of whom got 20 notices for a single symbol in a week. · Accounts
  • Broker symbol discovery could replace your full catalog with a few dozen symbols when both fetches failed, then report success in a modal reading "0 symbols discovered". It now refuses to store a catalog less than half the size of the one it holds, and tells you it refused. · Accounts
  • A symbol discovery pass that crashed was recorded as having finished. On 14 September that put a red symbol health banner on 32 accounts that had nothing wrong with them. · Accounts
  • Every signup button on the public explore and affiliate pages pointed at an address that has never existed, so it 404ed for 140 people since 1 July. They now reach the signup form and carry your referral code, which the explore route had been dropping. · Explore
  • Older links to /auth/signup and /settings?tab=affiliate that are already shared or indexed now open the right screen instead of a 404, and a link to a particular page survives Google sign-in and email confirmation rather than dropping you on the dashboard. · Accounts
  • A crafted return address on a login link could send you to an outside site once you signed in. The link is now resolved and has to stay on the dashboard. · Accounts
12 changes

Positions put back, a referral discount that arrives, and risk set in money

A rolling restart of our execution bridges on 9 September made 82 positions look closed while your broker still held every one of them open. They were restored the same evening, and a position that vanishes without a matching broker deal is now held for evidence instead of written straight to your log. You can also size a trade by the amount of money you are willing to lose, and a referral link now delivers the discount it promises.

Fixed·Trading engine

Positions showed as closed while your broker still held them open

On 9 September a rolling restart of our execution bridges emptied each terminal's position book for about ten seconds. The engine read the gap as every position closing at once, and marked 82 positions across 15 trades and 9 accounts closed, finalising the parent trades at zero profit. None of them had closed at the broker: all 82 matched the broker's own list of open tickets, and none carried the fill data a real close leaves behind. Every one was restored that evening. A position that disappears without a matching broker deal is now held back and checked against a fresh reading of your broker's book before anything is written.

Fixed·Billing

A referral link cost you the discount it promised

Both checkout paths looked up your referral code with a client that could not read the referrer's row, so the guard never passed and the whole discount branch sat dead. Arriving through a referral link meant paying full price, while the same customer arriving without one, attributed at signup, was charged less. The lookup and the attribution write now run server side, the referral discount reaches checkout, and the code is read from your referral cookie rather than from anything the page sends.

New·Risk

Risk a fixed amount of money per trade

Position sizing takes a cash figure now, alongside a percentage of balance and a fixed lot. Name the amount you are willing to lose and the engine solves the lot size from your stop distance, so a loss lands on that figure whatever the symbol and however wide the stop. The signal's risk level no longer multiplies the amount you set, and a trade in this mode with no amount is rejected rather than sized on a guess.

Also new

1
  • Screen-share privacy mode, on Cmd+Shift+P, masks your name, email, account ids, broker login and card last four across the dashboard. Balances, equity, P&L and channel names stay real, and nothing that leaves your browser changes. · Dashboard

Improvements

5
  • Connection Health opens with a verdict for the window and lists interruptions, rather than every traffic-light flip. A healthy account used to read "Incidents (30d): 204" above fifty coloured dots. · Accounts
  • One Add Channel menu offers both routes side by side: browse the curated library, or request a channel that is not in it yet. · Channels
  • The channels rail reads "Ready to enable" for curated channels you already follow on Telegram, and Library sits above the smart views. · Channels
  • Command palette search finds curated channels you follow but have not enabled yet, not only the ones already running. · Channels
  • The channels rail on a phone keeps its section headings, scrolls the way the rest of the dashboard does, and has tap targets you can hit. · Channels

Fixes

3
  • Connection health counted the nightly price-feed rollover and weekend closures as interruptions. Graded on market time, one live account's last 30 days went from 21 interruptions to 1. · Accounts
  • The trade preview printed a question mark where a currency should be, and wore your account's currency symbol on figures that had not been converted into it. Every money figure now says what it is in, and the per-target rows add up to their own total, which was understating profit by about 14 percent on a EUR account. · Dashboard
  • Lifetime checkout read the referral code from the page's request instead of your referral cookie. · Billing
15 changes

Breakeven that watches price, and a plan change that stops billing twice

Automatic breakeven now arms when price reaches a take-profit level, not only when an order fills there, so it protects trades the old trigger walked past. We also found that changing your plan left the extra account slots you had bought standing on the bill, and that connecting an account could point your gold signals at a gold mining share.

Improved·Trading engine

Breakeven arms on a take-profit price cross

If you set breakeven to trigger from a take-profit level, it used to wait for one of your orders to fill at that level. It now also arms when price trades through the level and holds there for two seconds, whether or not an order was sitting there. This moves the stop on live trades, so it is worth a look at your breakeven setting if you would rather it waited for a fill.

Fixed·Accounts

Gold and Bitcoin signals could be pointed at the wrong instrument

When you connected an account, the symbol step could offer a gold mining share as your gold symbol, badge it Recommended and pre-select it for one-click confirmation. One trader accepted it and his gold signals were sent to Barrick Gold. Both trades bounced off his broker's minimum lot size, which is the only reason it cost him nothing. We replayed all thirteen broker setups that were recommending a wrong instrument and every one now resolves to spot gold, and a symbol we cannot positively identify is offered last and never recommended.

Fixed·Billing

A plan change left you paying for accounts the new plan already included

If you had bought extra account slots at $15 a month and later moved to a plan that included more accounts, the slots stayed on your bill anyway. One customer paid for six days before spotting it. Slot counts are now reconciled whenever your plan changes and Stripe credits the difference back. A plan change that would leave you with fewer accounts than you have connected adds the slots you need instead, and asks you first, with the cost on screen.

Also new

5
  • Every executed price records where it came from. Your entry, stop and targets each say whether the number is the provider's, your own default, a follow-up message or one our safety check replaced. Trades placed before this read "not recorded" rather than claiming to be the provider's. · Trading engine
  • Telegram tells you when automatic breakeven succeeds. You used to hear from it only when breakeven failed. · Notifications
  • The Automation column now ships in the default and execution column presets. It already existed and worked, in a column that shipped switched off, and in six months exactly one person out of 216 ever turned it on. · Dashboard
  • Your upcoming charge separates the one-off proration from the amount that recurs each month. · Billing
  • Buying extra account slots warns you when the next plan up would cost less than the slots you are about to add. · Billing

Improvements

2
  • The trade log, chart, trade detail and exports show the stop that is protecting a trade now, rather than the signal's original stop that breakeven has already replaced. The SL column keeps the original and labels it the signal stop. · Trading engine
  • Auto-Correct is described the same way wherever you meet it: the tooltip, the settings section, the profile editor and the API. The "(Recommended)" tag is gone from it. The default is unchanged. · Trading engine

Fixes

5
  • A rejected signal told you your stop sat closer to the entry zone than your broker's minimum stop distance. No broker was involved. The limit is our own five-pip floor, and one customer spent hours debugging two brokers looking for it. The message now names entry layers consuming the zone as the cause, and points at fewer layers or a narrower zone rather than at a wider default stop, which would have moved your targets. · Trading engine
  • The Activity timeline told every trade the same story: "Layer 1 executed immediately at market price, layers 2-4 are limit orders waiting." Across 639 trades, 439 placed no market order at all and 139 placed no limit orders, and the layer count is yours to set. It now describes the orders that were actually placed. · Dashboard
  • When Stripe could not be reached, the upcoming charge card said "No upcoming charges" and a paying customer was told they owed nothing. It now says the amount could not be loaded, and offers a retry. · Billing
  • If you hold subscriptions in two currencies, the upcoming charge was adding them into a single number that meant nothing. Each currency gets its own row now, with no combined total. · Billing
  • Account cards that still showed a live broker connection after the broker had dropped it were reconciled against the broker. One was rejecting saved credentials and now says so, so the owner can fix the password instead of waiting. · Accounts
22 changes

Numbers you can check

Your balance now reconciles against your broker instead of asking you to trust ours, disconnecting an account stops erasing what it did, and you can search the whole record from anywhere. We also found orders the broker had filled that we had written down as cancelled, and put them back.

New·Dashboard

Your balance, reconciled against your broker

Performance shows the arithmetic between what your broker says your balance is and what TTMT tracked, then names the difference: withheld tax, trades you placed yourself, deposits and withdrawals. We checked 22 accounts and 12 carried a real gap, the largest just under €10,000 on a €12,300 account. You get the reconciliation rather than a total that quietly implies we account for every cent.

Fixed·Trading engine

Orders your broker filled were recorded as cancelled by you

When we compared our records against the broker's live order list, anything missing was written down as cancelled by you. A filled order leaves that list exactly the same way a cancelled one does, so real fills were being logged as your cancellations. One live account had €100.22 of realised loss with no record of it at all. We checked 58 affected legs and every one had genuinely filled. Across the fleet this touched 647 trades and 34 traders going back to February, and those records are now corrected.

New·Dashboard

Search everything you own

Press Cmd+K anywhere to search trades, signals and positions by symbol, reference, direction, channel, account or time. Each log gets its own search box too. It is the one place that also returns things you deleted, so a trade you binned last month is still findable.

Also new

6
  • Disconnected accounts keep a full page of their own: performance, charts, calendar, read-only logs in that account's currency, and exports. · Accounts
  • The disconnect dialog counts your open exposure before you confirm, and reconnecting restores the channel routing the account had. · Accounts
  • Thirty days to change your mind, no reason required. The old policy only refunded you if you had not used the product for its one purpose. · Billing
  • Verified reviews on channel pages, with helpful votes, sub-ratings and four sort orders. · Channels
  • A read-only view of broker activity TTMT never tracked: deposits, withdrawals, fees, and positions you opened yourself. · Trading engine
  • Decide whether disconnected accounts count toward your lifetime totals. · Dashboard

Improvements

4
  • Every performance card says how fresh its data is. · Dashboard
  • Self-hosted execution is available to every account rather than a per-user grant. · Accounts
  • Settings links scroll to the section you asked for. · Trading engine
  • MetaTrader account limits agree across billing and accounts. · Billing

Fixes

9
  • A broker glitch reported each self-hosted position's full notional as floating profit and loss, and nothing checked whether a floating number was even plausible. One account showed −€13,305 against a €500 limit and latched a daily-loss halt. It was actually up €117.76. Nothing closed only because the market was shut. · Risk
  • A trade that closed at its stop could later be stamped "TP1 hit" if price simply rallied back through that level afterwards. On losing trades the false-flag rate had risen from 1% to 10.9%. Sixteen affected trades were corrected. · Trading engine
  • A backgrounded phone tab was showing a red "connection lost" and disabling your Trading control on a healthy account. A drop under five seconds is now invisible, and the message describes our data link rather than your broker. · Dashboard
  • New self-hosted accounts could not finish setup while the forex market was closed, because the readiness check only ever watched a forex price. No weekend setup had succeeded for ten days. · Accounts
  • New broker connections failed for eleven and a half hours after our hosting provider retired an API verb without warning. Nobody could connect an account in that window. · Accounts
  • Swapping a live account's execution path now asks you to confirm first. · Accounts
  • The command palette was rendering every result at half opacity, which three people reported as "the results look washed out". They were right. · Dashboard
  • During a broker outage every disconnection showed the same "this usually clears on its own" message, even twenty-eight minutes in. · Trading engine
  • The "chat with us" link reaches the actual community rather than a dead Telegram handle. · Dashboard
11 changes

Breakeven that actually protects you

Two faults in the same feature, both of which cost money. Moving a stop to breakeven could leave it on the losing side of your entry, and a breakeven the broker refused could force-close the trade and then report the loss as a win. Both are fixed and the affected records corrected.

Fixed·Trading engine

Breakeven could leave your stop on the losing side

A breakeven move could land your stop below entry on a BUY, or above it on a SELL, and could push an already-protected stop backwards. Nothing checked that the new stop actually protected anything. Over ninety days, 297 positions closed at a losing-side breakeven stop for a net loss of about $11,300, and 87% of them were losers. The 45,144 correctly-placed breakeven closes over the same period were net positive by about $103,000, so this was a narrow fault with a real cost. The counter that reports "breakeven applied" now counts positions that actually moved rather than attempts.

Fixed·Trading engine

A refused breakeven could close your trade and call it a win

When a signal asked for breakeven on positions that were underwater, the guard compared the proposed stop against your entry but never against the current market. The broker refused it, and the fallback force-closed 24 positions. Worse, that close path recorded no profit-and-loss figure, and a missing figure is read everywhere as "settled and flat". So a real €109 loss was reported to the trader as a profit. Thirty-four trades since 17 August had been mislabelled this way and have been corrected.

Also new

3
  • Choose whether a limit-order cancel applies only to trades that actually filled. The old unconditional behaviour cancelled 1,647 trades across 35 traders that had never filled anything, at a median of two and a half minutes in, against channel timeouts of thirty minutes or more. · Trading engine
  • Cancel remaining limit orders when a signal triggers a partial close. Of 417 partial-closed trades in a month, 97 still had live limits able to re-enter deeper layers while the trader was winding down. · Trading engine
  • Pick which topics inside a Telegram forum group TTMT listens to, so a follow-up in one topic cannot attach to a trade from another. · Channels

Improvements

2
  • Totals disclose when a disconnected account is included, rather than silently counting it. That covered 170 accounts and about $139,000 of profit and loss nobody could see. · Dashboard
  • Twenty-six onboarding fixes: closing the modal stops deploying abandoned credentials, a failed trial no longer strands a provisioned account, and failure messages describe the actual problem instead of claiming we are busy. · Accounts

Fixes

4
  • Importing a shared config profile was silently dropping eight execution settings. Twenty-three of twenty-eight imported profiles still differed from the profile they came from. · Trading engine
  • A trade could settle on incomplete position data. Guarded, with ninety days of affected rows corrected. · Trading engine
  • A partially-filled residual was being read as evidence a trade never filled, so trades were labelled "Not Filled" over orders that provably executed. · Trading engine
  • Runner positions with no fixed take profit, which is their correct state, were being written off as permanently failed by a repair job. · Trading engine
17 changes

A safety net that had never worked, and a charge that billed twice

The watchdog that cancels a stale limit order once price crosses its take profit had been dead since the day it was written. We also billed some people twice for one add-on click. Both are fixed, and this release explains what each one cost.

Fixed·Trading engine

The take-profit watchdog had never once run

A watchdog is meant to cancel your remaining limit orders when price crosses the first take profit, so a trade that already hit its target cannot re-enter deeper. It read a database result as a list when it was an object, so its watch list was permanently empty and both halves of the module were dead from the first commit. Across one measured week, 145 trades belonging to 14 traders crossed TP1 before any limit filled, kept their limits live, and later closed at a loss. On live accounts that came to about $1,860.

Fixed·Billing

One add-on click was charging for two

Adding a single extra account slot could bill you for two. A billing line at quantity zero was being read as one, then incremented. Two related faults went with it: scheduled add-on removals fired a full cycle late, four times out of four, and a card declined mid-change could delete the whole line and wipe slots you had paid for. If your billing looks wrong, write to us and we will sort it.

New·Accounts

Change your broker password without disconnecting

Update your credentials in place, from account details or from the amber strip we show when we detect a password problem. Your channel routing, settings and history stay exactly as they were, which they did not when the only option was disconnect and re-add.

Improvements

7
  • Unfilled limit orders now expire after thirty minutes by default instead of four hours. Two hundred and fifty of 299 active channel pairings had inherited the four-hour value without choosing it, while everyone who did choose clustered around thirty minutes. · Trading engine
  • Failure reasons come from the trade record in plain language. For traders with a single account, the real reason was being overwritten by an internal reference 104 milliseconds later, so every single-account failure was opaque. Notifications were showing raw tokens too: 84% of broker-error alerts in a month were unreadable. · Trading engine
  • A stale broker password now shows as "credentials invalid" rather than a generic disconnection whose only suggested fix could never work. · Accounts
  • Per-asset overrides say which setting wins: sizing and take-profit pips go to the override, stop-loss pips lose to the channel default. · Trading engine
  • Better AI trade explanations, grounded on verified facts about the trade. · Dashboard
  • The dashboard says when your trading service is asleep instead of rendering as though everything were live, and paying again wakes it, redeploys your accounts and revives paused channels without a support ticket. · Accounts
  • Limit orders can wait up to ten days when you want them to, which swing channels needed. · Trading engine

Fixes

7
  • A "close 50%" instruction could close the whole trade. Rounding to the broker's minimum lot step over-closed on 76 trades across 16 traders. · Trading engine
  • A failed read of your open positions was being treated as "you have no positions" rather than "we do not know", which could finalise a trade as closed while the broker still held it live. · Trading engine
  • A cleanup sweep marked 24 limit orders cancelled and the trade "Not Filled", but the broker had refused those cancels. All 24 stayed live, filled five hours later and ran to the stop while the dashboard showed nothing. · Trading engine
  • Account conversions to self-hosted execution had never once completed. Every attempt died about a minute in, and a reconciler could kill the readiness check mid-flight on any multi-account trader. · Accounts
  • With Best-Price Entry on, take-profit targets were still measured from the pre-Best-Price edge, so a 100-pip target could sit 170 pips away. · Trading engine
  • Once you pressed Reconnect, a false red "connection down" banner could never clear again. · Accounts
  • With two alerts on the same symbol and direction awaiting details, a follow-up could attach to the wrong one. · Channels
29 changes

Credit that counts, stops measured from where you filled

Prop-firm credit now sizes your positions, stop distances are measured from your actual fill rather than the signal's stated entry, and the lot-size cap finally matches what the settings screen has always let you type.

New·Risk

Broker credit counts as tradable capital

Prop-firm and bonus credit appears on your account card and feeds into percentage sizing, so a credit-funded account sizes against what it can actually trade. Credit counts up to the size of your balance and no further, which is a fixed bound rather than a setting. This is on by default, so if you use percentage sizing on a credited account your positions got larger. The notice on your account card names the amount and links to the opt-out.

Fixed·Trading engine

Your stop was measured from a price you never got

When you set a stop in pips and Layer 1 filled at market on a price that had already moved, the stop was still measured from the signal's stated entry. One trade ended up with a real stop distance of 126 pips, and a race after the fill made it worse about 95% of the time, sweeping the trade for a loss just before a 570-pip run in its favour. It had never worked at all on self-hosted accounts. You can now choose whether the stop is anchored to the signal's entry or to where you actually filled.

Fixed·Trading engine

A lost connection could disarm every automatic close

An inbound "account disconnected" event deleted the account's monitoring entry while it was still active, which silently switched off all four paths that close a position: the heartbeat sync, the ingestion path, the position watchdog and the rebuild. No error appeared anywhere. In the observed case the broker closed two positions 117 seconds later into an account that was completely blind, and nothing would have rebuilt the entry for up to six hours.

Also new

6
  • Daily loss and profit budgets per config profile, with your own choice of what happens on breach. · Risk
  • Rate and review a channel you have actually traded, and read what other verified traders said. · Channels
  • Suggest a correction to a channel listing, and hear back about whether it was accepted. · Channels
  • Channel access tiers, pricing and join instructions, with links between a channel's free and VIP versions. · Explore
  • Rebuilt performance charts: intraday buckets, per-trade comparison bars, month and year pickers, and a day drill-in. · Dashboard
  • Choose whether the stop distance is measured from your Layer 1 fill or from the signal's entry. · Trading engine

Improvements

5
  • The lot-size cap is now a flat 20 across all risk levels. It had been 5, 7.5 and 10 while the settings screen, the API and the database all accepted 100, so a trader configuring 20 lots silently got 5 with no warning. · Risk
  • Fixed lot sizes above five require typing the exact number, because a checkbox was too easy to click through. · Trading engine
  • Trade snapshots show all eighty-nine captured settings. They had been showing thirty-nine. · Trading engine
  • A signal built from an edited Telegram message is marked as one, with the original and edited text side by side. · Channels
  • One hundred config profiles instead of fifty. · Trading engine

Fixes

15
  • Percentage sizing computed risk from the live market price even for limit orders, which fill closer to the stop. Real positions came out smaller than the risk you asked for. · Trading engine
  • Two alerts twenty-four minutes apart from the same channel, with every price shifted by one, were both absorbed into the first trade. The second setup produced no trades at all while the signal still read as executed. · Trading engine
  • A Pro subscriber with a healthy subscription was being told they needed one. Seventeen customers with a payment issue were pointed at the plan picker, which is exactly how you end up with two subscriptions, and about twenty-five Essential customers could not reach the add-on at all. · Billing
  • A customer with an old cancelled trial alongside a live paid subscription was shown "payment overdue" and then suspended, locking a paying customer out of their own open positions. · Billing
  • Performance days were bucketed in UTC and presented as yours, with broken daylight-saving arithmetic. A trade could land on the wrong day in the calendar and both charts. · Dashboard
  • Position log CSV export had failed on every attempt since 30 July, silently. The signal log had no export at all. · Dashboard
  • Per-profile daily limits shipped and did nothing for ten days: a strict validation rule rejected all three fields. It had also broken config profile import since 6 August. · Risk
  • Channels titled in styled lettering are searchable again. Of 9,354 known channels, 820 use those characters and 801 were sitting invisibly in people's lists. · Channels
  • Pressing Reconnect on a self-hosted account left it blind to take profits, stops, breakeven and trailing for up to six hours. Twenty-seven accounts were exposed. · Accounts
  • Floating profit and loss was calculated as equity minus balance, which folds credit into what looks like profit. It now sums your open positions. · Accounts
  • Settings with a value of zero, meaning disabled, would not save. · Trading engine
  • Average R was printed "over 100 trades" off an eighteen-trade sample on four channel groups. · Dashboard
  • Settings copy matches the engine. The limit-order timeout said 240 minutes while the engine cancelled at 30. · Trading engine
  • The account switcher was printing each login twice and overflowing its column. · Dashboard
  • A margin check that passed at exactly the point of going negative, and an unverifiable margin probe treated as safe, both now fail closed. · Trading engine
31 changes

Percentage sizing, and a dashboard rebuilt for the phone in your hand

Set risk as a percentage of balance instead of guessing at lot numbers, organise your channels and profiles into groups, and use all of it on a phone without fighting the layout.

New·Risk

Size positions as a percentage of balance

Set risk as 1% of balance instead of a lot number. Volume is solved per entry layer from that signal's own stop distance, in your account currency, so a dollar account sizes a euro-yen trade correctly. There is a live calculator showing what the percentage means in money before you commit, per-asset overrides work in percentages too, and the mode travels with a shared profile.

Improved·Dashboard

The dashboard is rebuilt for phones

Scrolling tab rails instead of wrapped rows, sticky sheet footers so Save is always reachable, real touch targets, and about a dozen screens recomposed: the trade view, the activity timeline, live positions, the chart, billing, the signal tester and the channel picker, which is now a bottom sheet that does not launch the keyboard at you.

New·Channels

Group and organise your channels and profiles

Drag channels into groups, with a left rail of smart views, a search and filter toolbar, and rollup stats per group. Config profiles get the same treatment. Once you are past a handful of each, a flat list stops working.

Also new

6
  • Set take profits as a multiple of your stop instead of fixed pips, so each target scales with that signal's own risk. · Trading engine
  • Cut your lot size automatically after consecutive losses, with a backtest panel that leads on drawdown rather than a flattering return. · Risk
  • Trading hours per config profile, which override the account and channel schedules. · Trading engine
  • See exactly why the signal tester skipped a signal, stage by stage, running the same gates production runs. · Channels
  • Restart a paused trading service yourself, from a banner that says why it paused, and reconnect a self-hosted account without help. · Accounts
  • One Connectors page covering Claude, the read-only API and webhooks. · Integrations

Improvements

4
  • Shared profiles carry per-trade profit and loss limits, Layer 1 market tolerance and the execution schedule. · Trading engine
  • The daily breakdown splits "did not fill" from "needs attention", so a quiet day stops looking like a pile of failures. · Dashboard
  • Reworked Telegram phone entry with a real international input, specific code errors and a resend path. · Accounts
  • Self-hosted execution opened up to live and prop-firm accounts. It had been demo-only. · Accounts

Fixes

18
  • A channel reposting or correcting a signal it had already sent silently opened a second trade on top of your existing position. One trader lost about $1,580 to it. · Trading engine
  • Duplicate detection was switched off entirely for multi-account broadcasts, so one alert posted three times to two accounts opened six trades instead of two. · Trading engine
  • A stop-gap close wrote zero profit and loss whenever a trade had no currently-open positions, which erased money already banked by earlier partial closes and take profits. · Trading engine
  • On MT4, a position's opening and closing records can carry the same identifier, so the closing one was discarded as a duplicate and the trade showed zero on a real profit or loss. · Trading engine
  • Live profit and loss flickered and jumped backwards because price updates raced each other. Frames older than what is on screen are dropped, and staleness is measured against your broker's clock. · Dashboard
  • The monthly calendar was built from your first 1,000 closed trades only. One trader with 3,113 closed trades saw exactly 1,000 of them. · Dashboard
  • The connection light was a single red or green read off a stale database column, so a connecting account looked broken and a paused one looked live. · Accounts
  • Stored trade profit and loss could drift from the sum of its positions. The cause is fixed and affected rows corrected. · Trading engine
  • A self-hosted account set to risk 1% executed at a hardcoded 0.02 lots instead of about 0.4 whenever the bridge briefly reported not ready, with no notification. · Accounts
  • If price had already blown through the signal's stop, the engine still tried all 36 orders and let the broker refuse each one. It now rejects up front and says why. · Trading engine
  • Signal broadcasting was completely non-functional across the fleet for over a day, and after the transport fix anyone with more than one account still failed with an opaque error. · Trading engine
  • Broadcast signals had never been checked against the daily-loss halt or the maximum-open-positions cap. · Trading engine
  • Trade history and Explain kept working after older events moved to cold storage. They had been going blank. · Dashboard
  • Self-hosted setup no longer fails when your broker password contains a dollar sign, and a wrong login fails fast instead of spinning for ten minutes. · Accounts
  • Long dropdown lists scroll again. A framework upgrade had removed the height cap, so channel lists ran off the bottom of the screen. · Dashboard
  • Reconnect slots respect your plan. Pro was capped at one instead of five. · Accounts
  • Unset take-profit slots stopped triggering a false ordering error on save. · Trading engine
  • Faster dashboard load and fewer intermittent errors. First paint was firing about seven authentication calls plus one per feature flag. · Dashboard
26 changes

A rebuilt trade view, and a run of self-hosted accounting fixes

The trade, signal and position logs were rebuilt from scratch, every trade got a live candle chart, and we spent most of the month correcting what self-hosted accounts were recording about their own money.

New·Dashboard

Rebuilt trade, signal and position logs

Day grouping with realised rollups, one consolidated toolbar, saved column presets, frozen headers, and a "N new" pill that holds incoming rows so the table stops moving under your cursor. Selection happens on hover rather than through a separate cleanup mode. On a phone you get purpose-built cards with long-press select instead of a squeezed table.

New·Dashboard

A trade view that shows the plan against what happened

A take-profit rail comparing plan to actual with exit and live markers, orders grouped by entry layer with per-row profit and loss, and an activity tab that opens on the moments that mattered. The signal view got the same treatment: your original message annotated with the numbers the parser matched, and a per-account outcome for every trade the signal produced. Every trade also gets a live candle chart with its entry zone drawn as a band.

New·Accounts

Move a cloud account onto your own terminal

Self-hosted execution replaces a shared third-party cloud with a private bridge we run for your account alone. The upgrade is a six-step wizard that pauses trading, confirms you are flat, verifies your broker credentials before tearing anything down, and only then commits. Close the tab halfway and the account stays visible with a resume link.

Also new

5
  • Teach the parser when it reads a signal wrong. Your correction becomes a training example for that channel, alongside per-channel examples and prompts. · Channels
  • Blacklist words so a channel's chatter never reaches the parser. Two hundred and ten channels now use it. · Channels
  • New trade log columns: duration, pips, stop level, close time, and whether breakeven, trailing or redistribution fired. · Dashboard
  • Profit and loss figures say whether they are live, settling, stale or provisional, instead of presenting a partial number as final. · Dashboard
  • Honest outcome labels on closed trades. "Stopped out" became a real outcome instead of being masked, and a platform close reads as automated rather than as a raw broker code. · Trading engine

Improvements

2
  • Broker rejections explained in English, with a link to the setting that fixes them. A real "too many open positions" refusal had been surfacing as an internal error reference. · Trading engine
  • An eight-state connection badge that can only ever narrow when it is showing you something alarming. · Accounts

Fixes

16
  • Self-hosted trades were recording roughly half their real profit and loss, because reconciliation always called the cloud provider even for accounts that do not use it. One trade the broker settled at −378.30 was recorded as −191.99, and a winner showed 0.00. · Trading engine
  • A self-hosted layered trade closed with 24 real broker positions while TTMT recorded 12. Twelve positions and −174.80 had no record at all. · Trading engine
  • The self-hosted bridge injects an internal record carrying the entry spread as profit, which was sign-flipping real results. A trade genuinely up about $6.18 displayed as +$3.06. · Trading engine
  • The bridge's local position book could resurrect a position the broker had already closed, so a self-hosted trader saw a position sit open indefinitely. · Trading engine
  • A self-hosted terminal only streams prices for symbols it already holds, so a signal on any other symbol timed out and that account was skipped from the trade entirely. · Trading engine
  • After adding or switching an account, the background recovery loops were stopped for cleanup and never restarted. Every closed position needing recovery then showed $0.00 for the rest of that service's life. · Trading engine
  • A pip-value calculation could overflow its database column inside the same transaction that recorded a trade's orders and positions, rolling the whole thing back while the broker held a real live position. That position was then invisible to breakeven, trailing and the watchdog. · Trading engine
  • A late closing record during a provider incident was dropped from the total, so a real $33.52 loss displayed as $0.00 and marked won. · Trading engine
  • A broker margin-call liquidation was being labelled an ordinary loss rather than a stop-out. · Trading engine
  • A channel created or enabled after your service started reached the active list but never the monitored one. One trader's self-created channel processed zero messages for its entire life. · Channels
  • A price feed with no live ticker read as infinitely stale, forcing a limit at entry even when price had barely moved. One trade never filled while sibling accounts executed at market. · Trading engine
  • TTMT's own breakeven move was being read as a manual change by you, which told you we would respect it and then dropped the position from all further stop management. · Trading engine
  • A healthy self-hosted account was evicted as a zombie and shown disconnected over a weekend, because quotes legitimately stop when the market is closed. · Accounts
  • A symbol mapping differing only in letter case passed validation and then failed every trade. · Trading engine
  • Partial-execution alerts were pasting raw internal error text into your Telegram messages. · Trading engine
  • A weekend no longer reads as a broker problem, and closed trades stopped showing phantom pending take profits. · Dashboard
33 changes

Add your own channels, and stop paying for the same thing twice

You no longer have to ask us to approve a channel. We also fixed a billing fault that had been creating a second subscription on the same account whenever someone changed plan, and found that Close Trade had only ever closed one position out of a layered trade.

New·Channels

Add any Telegram channel yourself

Run the same analysis our team runs, review the execution mode and stop and target settings it suggests, and switch the channel on. No request, no waiting. Approved channels publish to the library unless you mark them private. We still refuse, on the server, to execute on alert with no stop loss.

Fixed·Trading engine

Close Trade was closing one position out of many

A layered trade is several broker positions. Close Trade closed the first one and left the rest open with their orders uncancelled, and Set Breakeven had the same limit. If you pressed Close and walked away, you were still in the market. Both now act on every open position and every pending order in the trade.

Fixed·Billing

Changing plan was creating a second subscription

An existing subscriber who changed plan was sent through a fresh checkout, which produced a second parallel subscription on the same customer. People were genuinely double-billed with no proration. Plan changes now happen in place with a preview of what you will actually pay, and the checkout path refuses to run for anyone who already subscribes. The upgrade dialog had also been showing the entire next invoice labelled as a proration, so a routine upgrade looked like a $153 penalty. It now leads with what is due today, which is usually nothing.

Also new

8
  • Auto-close a trade at your own profit or loss amount, with suggested figures drawn from your own last thirty days rather than invented. · Trading engine
  • Connect your own MetaTrader terminal as an alternative to the shared cloud. · Accounts
  • Live prices and one-click Close or Set-Breakeven in Live View, with honest freshness states rather than a fake zero. · Dashboard
  • Close a whole channel's trades at once, behind a confirmation and with a per-trade result. · Dashboard
  • Best-Price Entry places Layer 1 at the deep edge of the entry zone, with the stop and targets recomputed. · Trading engine
  • Force Layer 1 to execute at market when price is already close to the intended entry, with a tolerance you set. · Trading engine
  • Approve a channel yourself using the same quality and legitimacy analysis our reviewers use, rate-limited to five an hour. · Channels
  • A markets-closed countdown in the navbar that gets more precise as the open approaches. · Dashboard

Improvements

4
  • Live View redesigned from stacked full-width cards into a grid sorted worst-first, with a drill-down for positions and pending orders. · Dashboard
  • Symbol mapping health is visible everywhere: a banner, an account badge, a header indicator, and a warning before you delete a mapping with recent trades. · Trading engine
  • The broker-disconnect warning moved below the navbar and turned solid red. The old faint version read as a disabled control. Permanent dismiss became a twenty-minute snooze. · Accounts
  • We added a captcha to sign-in on 1 June and removed it again on the 18th. It caused more trouble than it prevented. · Accounts

Fixes

18
  • A follow-up message replying to an older post could move the stop loss on the wrong trade. A sixty-day sweep found 672 misroutes and 95 cases where a trader's stop was silently moved on a trade they did not mean. An unresolved reply is now dropped and reported rather than guessed. · Trading engine
  • When the primary parser failed over to its backup model, every retry was rejected because that model refuses a non-default setting. The signal was dropped with no trade and no visible cause. · Trading engine
  • Every night during the forex rollover, a market-hours check that knew about weekends but not the daily rollover read the expected silence as a dead feed and forced a reconnect of every account on the platform. · Trading engine
  • After a reconnect, a symbol's price feed could go silently stale with nothing resubscribing, so trades could execute against a frozen price while the health indicator stayed green. · Trading engine
  • A transient provider hiccup could start a self-perpetuating reconnect loop that never let the rate limit clear, risking accounts going dark with no ticks, no fills and no breakeven or trailing management. · Trading engine
  • An unhealthy connection could wedge a single account indefinitely. One live account sat stuck for about ten and a half hours while the rest of the fleet traded. · Trading engine
  • A connection MetaAPI itself reported as disconnected could still pass our health gate and reach the trade executor. · Trading engine
  • Startup for self-hosted accounts opened connections before registering routing, so it defaulted to the cloud provider instead of the account's own bridge, and cached that wrong choice for the service's whole life. · Trading engine
  • A self-hosted broker reply meaning "nothing to change" was read as a real failure, pushing take-profit redistribution over its failure threshold. · Trading engine
  • The same open trade was showing different floating profit and loss in the navbar, the trade view and Live View, with gaps that grew as price moved and sometimes flipped sign. · Dashboard
  • You could map a symbol your broker does not offer, and every trade would then fail silently. Mappings are validated against your account's real symbol list, and a rejected save no longer wipes the mapping you had. · Trading engine
  • Confirmation emails work on any device. Opening the link on a different phone, or inside an email app's browser, confirmed your address but created no session and stranded you on "check your email". · Accounts
  • New MetaTrader accounts connect again after a provider host change broke setup across the fleet for a day. · Accounts
  • A channel you added yourself could vanish from your channels page and the navbar, because both lists were built by filtering the curated library. · Channels
  • The trade journey stopped opening with "after your stop loss was hit" on trades where no stop was hit, and stopped mixing in events from other trades on the same signal. · Dashboard
  • A tab left open long enough for its session to rotate redirects to login instead of crashing to an error page. · Accounts
  • A fresh signal shortly after a same-direction close was being misread as a follow-up to the closed trade and dropped. · Trading engine
  • The trade preview chart replaced a randomly generated price walk, which had been making people misread where their entry sat against their stop. · Dashboard
23 changes

244 trades were labelled wins when they were losses

The most serious thing we have found and fixed this year. A missing profit-and-loss value was being read as zero, which turned real losses into recorded wins. We corrected every affected record. This release also closes a duplicate-order fault that doubled real market exposure.

Fixed·Trading engine

244 trades were reported as wins on real losses

When a broker's closing figure arrived after we had already finalised a trade, a missing value was treated as zero rather than as unknown, so the trade settled flat and was labelled a win. The self-correction window was thirty seconds, and real recovery takes minutes to hours, so the wrong label stuck for good. Two hundred and forty-four trades going back to December 2025 were affected, totalling about €62,400 of losses shown as wins. Every one has been corrected, and all closure paths now treat a missing figure as unresolved.

Fixed·Trading engine

A connection hiccup could place your order twice

If the broker connection threw an ambiguous error while placing an order, but the order had actually reached the broker, the retry placed a second one. That doubled real market exposure without the trader knowing, and we confirmed it happened to a real customer. Before any retry we now check the broker's own history for that order. If we cannot determine the state, we fail loudly and refuse to retry.

Fixed·Risk

Resuming after a halt erased the loss that caused it

Pressing Resume reset the profit-and-loss baseline to your current equity, which silently zeroed the day's loss that had triggered the halt. Resume after resume quietly moved the goalposts. Resume now only lifts the halt. Recalibrating the baseline after a deposit or withdrawal is a separate action you choose deliberately.

Also new

3
  • Every risk halt now writes an audit record, and the halt notification says which direction tripped it. · Trading engine
  • Every trade close writes a specific reason, so the outcome chip in your log explains itself. · Trading engine
  • One-click alias generation for unmapped signal symbols, plus a background self-healing pass. · Trading engine

Improvements

4
  • The daily halt checks floating profit and loss about once a second instead of every thirty, so it halts much closer to your configured limit. · Risk
  • Every channel shows the share of its followers who are in profit over ninety days, split by live and demo accounts, with a new sort by trader win rate. · Explore
  • The channel filter bar splits across two rows, so sort and mode labels stop truncating. · Explore
  • Testimonials link to the original Telegram messages, unedited. · Explore

Fixes

13
  • Take-profit redistribution retries had been broken since February, referencing a database column that no longer existed. Every retry failed and was absorbed as "try again later" forever, and a later escalation limit converted 3,153 of them into permanent failures. · Trading engine
  • A stop-loss correction anchored to the best-case fill rather than the worst, so a corrected stop could still sit inside the entry zone and fire the instant a deeper layer filled. Signals whose zone conflicts with their stop are now rejected before any order is placed. · Trading engine
  • On a single-layer trade with a stop override, several parts of the engine computed the entry zone differently, producing a phantom wide zone that doubled the stop distance. A €30 risk silently became €60. · Trading engine
  • A channel profile forcing one entry layer still ran multi-layer computation, which flipped the only market order into a limit and then skipped every order. Nothing was placed at all. · Trading engine
  • A follow-up updating the stop still rewrote it on positions already moved to breakeven, undoing locked-in protection. · Trading engine
  • For entry-zone signals with price far from the zone, take profits were sorted by distance from live price rather than from the entry, which reshuffled which target got which level. · Trading engine
  • An ordinary transient database read returning no row was treated as proof a trade did not exist, burning the whole retry budget in 77 seconds instead of backing off over minutes. · Trading engine
  • Cancelling an order that had just filled now closes the resulting position instead of leaving it untracked, and a database hiccup during breakeven can no longer be recorded as success without the stop actually moving. · Trading engine
  • A single failed execution was recorded with no error and no timestamp, making it invisible to the symbol-health banner, the account indicator, the notification bell and the signal detail card. · Trading engine
  • During a regional provider storm, connections routinely exceeded a thirty-second timeout and trades could not execute on those accounts. The wait is now sixty seconds. · Trading engine
  • Stop and target overrides could run off a stale cached price instead of the live quote, producing a wrong stop, missing targets, or a rejected modification. · Trading engine
  • Maximum drawdown is capped at 100% on channel cards. · Explore
  • Affiliate credit survives the hop from the marketing site into the app. · Billing
38 changes

Take profits that survive a stop-loss change

A month of correctness work on the engine. Changing a stop was wiping the take profit off the broker entirely, a converted limit order was creating no position record at all, and redistribution retries had been dead since February.

Fixed·Trading engine

Changing a stop was erasing your take profit

Modifying a position at the broker replaces every level at once, so any change that set a stop without also resending the take profit erased the take profit outright. At least six places did this: the breakeven handler, signal-driven stop updates, the dashboard's Update SL button, entry reconciliation, redistribution's breakeven re-apply, and follow-up modifications. We confirmed it on a live gold position. Every one of those paths now preserves the take profit.

Fixed·Trading engine

A filled limit order could exist nowhere in your dashboard

When a limit order converted to a market fill, no position record was created. A real live broker position appeared nowhere in the dashboard, was never tracked for profit and loss, and received no take-profit, stop-loss or breakeven management at all. Over 29,000 orphaned orders across 3,500 trades and 36 traders were affected.

New·Trading engine

Settings catch invalid combinations before you save

A breakeven trigger pointing at a take profit you do not have, or targets in the wrong order, now shows an inline error and blocks the save. Previously the interface accepted it and the engine dealt with the consequences.

Also new

7
  • Choose the columns in your trade log, with presets for capital and risk, execution, or everything, plus planned and realised R and layers filled. · Dashboard
  • Warnings wherever a signal's symbol is not mapped to your broker, each linking to the fix. · Trading engine
  • Entry Zone Expansion widens the far edge of the zone so deep-retracement orders have room to fill. · Trading engine
  • Remove an unused add-on account slot yourself, with the exact effective date on the dialog. · Billing
  • A dedicated notification when a signal's symbol is not tradable, instead of an opaque failed trade. · Trading engine
  • A risk-free badge when every open position's stop is at or past breakeven, and broker comment and ticket ID on every order. · Dashboard
  • Guided help before you disconnect a broken account, because the problem is usually temporary and a disconnect cycle wastes a slot. · Accounts

Improvements

4
  • Channel stats show profit factor, win rate and maximum drawdown instead of a raw dollar figure that means nothing without position size. · Explore
  • Channel drawdown is measured per trader and shown as a median, hidden entirely below three qualifying traders. · Explore
  • The signal tester is one compact card, results swap in place, and the decision breakdown is in plain language. · Channels
  • A live money estimate next to your risk-limit settings, from real equity in your currency. · Risk

Fixes

24
  • The daily-loss kill switch was closing nothing. It was called with the wrong account identifier, so it matched no positions and closed none, which made the core safety action of the just-launched risk limits do nothing at all. · Risk
  • A reconnect path was destroying the live trade feed along with its listeners. One account missed every take-profit event for 43 minutes while running positions at thirty times the intended risk. · Trading engine
  • Some orders were placed at the broker with no take profit at all. In "keep signal settings" mode a signal with fewer than six targets still had six slots, and the surplus orders went out with no exit level. That was about 30% of trade volume. · Trading engine
  • A hardcoded fallback price precision was wrong by a factor of 1,000 for five-digit pairs. A limit at 1.60829 became 0.91486 and its stop at 1.60669 became 0.91286. · Trading engine
  • Breakeven protection could be permanently disabled. While a breakeven awaited confirmation, a listener overwrote the stop back to its old value, and a cross-check then saw them match and marked it confirmed. The trader believed breakeven had worked while still carrying the original stop. · Trading engine
  • Take-profit redistribution retries had never been started at server boot, so every failed modification since February was dropped with no recovery. · Trading engine
  • A stale price within 0.01% of a target falsely flagged trades as "TP2 hit", and a position could be marked TP1-hit while still carrying its original unprotected stop. · Trading engine
  • On ECN accounts the opening commission was never subtracted, so displayed profit was higher than what landed in your account. · Trading engine
  • All six Layer 1 orders were rejected on a broker with a small minimum stop distance, because the engine forced a limit inside that distance. It now falls back to market. · Trading engine
  • Deposits and withdrawals were read as trading losses, halting the account and re-halting immediately after every resume. · Risk
  • When a signal omitted a target, the channel's default pip distance was applied before your own setting. Your settings now win. · Trading engine
  • Ten consecutive connection failures, including expected weekend ones, auto-disabled an account and silently halted trading with no way back. · Trading engine
  • A demo account deleted at the broker a month earlier caused endless reconnect retries whose lock contention slowed trade execution for 27 unrelated traders. · Trading engine
  • A watchdog false closure meant a stop was never moved to breakeven after the first target, so the position ran to its original stop for a loss instead of closing flat. · Trading engine
  • A stale streaming connection could make a close attempt fail with no retry, leaving the position open. · Trading engine
  • Redistribution decided whether to re-run from a count of filled layers rather than which ones, so a different set of the same size read as unchanged. · Trading engine
  • One global rate limiter serialised every account's orders, so the same account systematically got the worst fill on every signal. · Trading engine
  • Open risk was displayed up to 200 times too high on cross-currency pairs, and planned risk was computed from live price rather than each order's real entry. · Dashboard
  • Euro accounts were seeing dollar-denominated profit and loss labelled with a euro sign, inflating what you read by roughly 17%. · Dashboard
  • Each account shows its own connection status. Broker health had been tracked only for whichever account was active. · Accounts
  • Channels stuck on "0 Active", stopped channels displaying as running, and channels showing the wrong execution mode. · Channels
  • Maximum drawdown was showing figures like 37,000%. It was dividing a money drawdown by a tiny peak. · Explore
  • Wrong totals on accounts with more than one subscription, a reload loop after reactivating, and a plan mislabelled as Essential. · Billing
  • Live View could show ghost positions for hours on an unhealthy connection, and could blank to zero and flicker during reconnects. · Dashboard
22 changes

Multi-account trading, the channel directory, and risk guardrails

The first four months of 2026, as originally published. One signal became many accounts, the Explore directory opened, and daily risk limits arrived.

New·Accounts

Trade several MetaTrader accounts at once

Connect more than one account and broadcast the same signal to all of them, each with its own position sizing. Extra account slots are available from your billing page.

New·Explore

Find providers worth following

The Explore directory ranks channels by what they have actually done: seven-day sparklines, aggregate win rates, and a full chronological history you can read before you connect anything.

New·Risk

Daily risk limits and a kill switch

Set a daily loss limit and TTMT halts trading on that account when it is hit, with an audit trail of every halt. Resuming keeps your session counters; recalibrating the baseline after a deposit or withdrawal is a separate, deliberate action.

Also new

11
  • Telegram channels on every plan (updated 2026-09: Essential and Challenge follow up to 20 active channels, Pro, Master and Lifetime up to 50). · Billing
  • Time-of-day execution schedules, set in your own timezone on a grid. · Trading engine
  • Order comments and deal reasons no longer carry TTMT-identifiable metadata, so trades look native to your prop firm. · Trading engine
  • When a deeper entry layer fills, your Layer 1 orders lock to the first take profit so the trade can reach breakeven sooner. · Trading engine
  • Preview a trade before you commit to the settings behind it. · Trading engine
  • Proportional take-profit redistribution. · Trading engine
  • Per-channel default settings, and a curated library of verified providers. · Channels
  • Real-time trade notifications through the Telegram bot. · Notifications
  • An economic calendar for scheduled high-impact releases. · Dashboard
  • Discount codes at checkout. · Billing
  • Warnings when your entry strategy conflicts with the channel's. · Trading engine

Improvements

7
  • An "always use my zone size" override for signals whose entry zone you do not trust. · Trading engine
  • Symbol matching repairs itself when your broker renames an instrument. · Trading engine
  • SMS fallback when Telegram will not deliver your login code, and real-time connection diagnostics. · Accounts
  • Plain-English explanations of what happened on a trade, and instant trade simulation. · Dashboard
  • A faster signal engine. · Trading engine
  • Cleaner channel cards, and a sticky action bar that stays reachable. · Channels
  • Faster dashboard loading, and refreshed trade cards you can share. · Dashboard

Fixes

1
  • Gold pricing handled at the right precision, more reliable take-profit handling, and duplicate orders prevented. · Trading engine

Want to see what is next?

The roadmap covers what we are building now, what is committed, and what we are still thinking about.