Release notes¶
Unreleased¶
Stops keep running when candles can't be read¶
A paper trade's stop-loss and other price exits now only need a price. Before, if any interval the strategy used could not be read (an exchange error, or an empty reply while its candle stream was down), the trade skipped the whole cycle, stops included. A 1d trend filter that only gates entries could keep an open position's stop from being checked.
- When an interval can't be read, the trade runs stops and price exits only. Entries and indicator exits (for example an EMA cross) wait until every interval reads again, so they never act on missing or old candles. The status says which intervals are missing.
- If the main interval can't be read either, the stop is checked against the latest price.
- If there is no price at all while a position is open, the trade shows an error status saying its stops are not being checked. The log has an error line naming the strategy and the open positions.
Several notification accounts per type; re-add your accounts¶
Settings → Signal Notification Accounts keeps a list of accounts for each type (Telegram, Discord, Email, Webhook). Each account has a nickname, and its own Verify and Delete. A signal that uses a type sends to every account of that type.
- Re-add your notification accounts. Accounts saved before this release are stored the old way and are no longer read, so signals stop sending until you add them again in Settings. You can delete the old files in
data/notifications/(telegram.enc,discord.enc,email.enc,webhook.enc). - Each type has an info bubble and a Setup guide link.
- Rotate Discord webhooks and webhook URLs when you re-add them. Earlier versions wrote webhook URLs and Discord webhook tokens to the log. Make a new Discord webhook or webhook URL instead of reusing the old one. Logs now name only the account type and nickname.
- The Support page links the website and the support email, team@apathia.app.
Indicators page removed¶
The Indicators page is gone. You no longer switch indicators on before using them. The strategy builder lists every indicator, with search and a star that pins favorites to the top.
- Default settings now live in the builder. In a condition's settings, User default makes those settings your User default for that indicator: every new condition on it, in any strategy, starts on them. System default goes back to the System default (the usual industry settings). A tag on a new condition shows which default it started on.
- User default refuses settings a condition could not use, and says why: a length out of range, a value that is not a number, a threshold outside the indicator's scale (RSI Oversold and Overbought from 0 to 100), or Oversold not below Overbought.
- Settings from the old Indicators page are not carried over. If you had changed any, open a condition on that indicator, set them again, and click User default.
- Saved strategies, library strategies, backtests, signals, and the chart keep the settings saved with them. Defaults apply when you add a new condition.
data/state/indicators.jsonis left behind. Nothing reads it, so you can delete it.
Selling fee in Unrealized for manual positions¶
Unrealized, ROI, and the stats tile for manually opened positions now take off the selling fee, so they read slightly lower than before. Engine positions already worked this way.