Repository navigation
v0.5.0
Changelog: WATA v0.5.0
This release introduces significant changes, including a major configuration overhaul and enhanced security features. Please review the BREAKING CHANGES section carefully before upgrading.
We are also excited to announce our new dedicated documentation site: https://ioiti.github.io/wata-docs/
💥 BREAKING CHANGES 💥
-
Configuration File Overhaul (
config.json):- The structure of the
tradesection withinconfig.jsonhas been significantly refactored to improve organization, validation, and allow for more granular control over trading parameters. - Action Required: Users must update their
config.jsonfile to match the new structure. Please refer to the v0.5.0 Configuration Guide for the updated format and new options. - Key changes include:
- Restructured
trade.configinto sub-sections:turbo_preference,buying_power,position_management, andgeneral. - Introduced new configuration options like
timezone,max_day_loss_percent, turboprice_range,stoploss_percent,max_profit_percent, API limits, retry settings, and more. - Removed the
trade.rules.profit_per_daysrule; its functionality is now part of the newday_tradingrule type undertrade.rules. - Added new rule types:
day_trading,signal_validation, andmarket_hours.
- Restructured
- The structure of the
-
Webhook Token Management:
- Webhook authentication token management has been redesigned for enhanced security. Tokens are now stored encrypted in the file specified by
webserver.persistant.token_path. - A new
app_secretkey has been added to thewebserversection inconfig.json. Action Required: You must set a strong, unique secret key forwebserver.app_secretin yourconfig.json. - Action Required: The previous method of storing/retrieving the webhook token is no longer valid. Users must use the new
watawebtokencommand-line tool to view their current token or generate a new one after upgrading. Update your webhook sender (e.g., TradingView alerts) with the token obtained fromwatawebtoken.- View token:
watawebtoken - Generate new token:
watawebtoken --new
- View token:
- Refer to the Webhook Token Management documentation.
- Webhook authentication token management has been redesigned for enhanced security. Tokens are now stored encrypted in the file specified by
-
Saxo Authentication Configuration:
- The
usernameandpasswordfields have been removed from theauthentication.saxosection inconfig.json. Authentication now relies solely on the persisted OAuth token flow managed internally.
- The
✨ Added
- New Trading Rules & Configuration:
- Introduced
day_tradingrule with parameters for daily profit target, max daily loss percentage, threshold to stop entering trades, and end-of-day position closing time (68767aa,adbd05a). - Added
signal_validationrule to reject signals older than a configurable duration (4136376,037c39b). - Implemented
market_hoursrule to define trading start/end times and a "risky" trading period (4136376). - Added timezone configuration (
general.timezone) for consistent time handling across the application (0808892,42001d7). - Added
turbo_preference.price_rangeto filter instruments by price (a07adc3). - Added
position_management.performance_thresholdsforstoploss_percentandmax_profit_percent(ec74fe4). - Added
buying_power.max_account_funds_to_use_percentageto control capital allocation per trade.
- Introduced
- Security Enhancements:
- Implemented secure, encrypted storage for webhook authentication tokens (
15e6b5a). - Introduced the
watawebtokencommand-line utility for managing webhook tokens (6446ffa).
- Implemented secure, encrypted storage for webhook authentication tokens (
- Configuration Validation: Added validation checks for the
config.jsonstructure and values (cb47632). - Documentation:
- Launched a new dedicated documentation website: https://ioiti.github.io/wata-docs/ (
77522bb, etc.). - Added comprehensive Getting Started Guide and FAQ (
914d2f2,ab8afd9). - Included architecture flowcharts and improved visual elements in documentation (
e960b0b,c5199f0,c78d426,9234619). - Enhanced README with badges, clearer setup instructions, risk warnings, and how-to guides (
b0b1037,7c52903,76ac5e0,47d0f37).
- Launched a new dedicated documentation website: https://ioiti.github.io/wata-docs/ (
- Trading Logic: Instrument sorting and filtering now uses the 'Bid' price instead of 'Mid' price for potentially more accurate selection (
a6f2943).
🔄 Changed
- Refactoring:
- Refactored Saxo API token management and initialization logic for improved reliability and clarity (
f383e69,5747519,da628ae). - Refactored trading rule checks and signal action processing (
bc7c06a). - Refactored position performance checking logic for efficiency (
ec74fe4). - Refactored configuration management (
958599f,45f509d).
- Refactored Saxo API token management and initialization logic for improved reliability and clarity (
- API Interaction: Increased the frequency of the
ping_saxo_apijob to every 15 seconds (abd0dee). - Logging:
- Enhanced logging details for signal actions, timestamp validation, and token retrieval (
bc7c06a,037c39b,8a37b40). - Adjusted some log levels for better verbosity control (
8a37b40).
- Enhanced logging details for signal actions, timestamp validation, and token retrieval (
- User Experience: Added an emoji to the RabbitMQ readiness notification (
6b940db).
❌ Removed
- Removed
usernameandpasswordfields fromauthentication.saxoinconfig.json(See Breaking Changes). - Removed the
trade.rules.profit_per_daysconfiguration (functionality merged intoday_tradingrule). - Deleted unused
trade/__init__.pyfile (e2b5b1b).
🐛 Fixed
- Fixed Docker exec command interpretation and an import path for
WebServerToken(8d878c1). - Corrected case sensitivity issues in trading rule method calls (
1ee5338). - Fixed a logging variable name related to sorted data count (
aed79af).
Please update your configuration and webhook tokens as described in the BREAKING CHANGES section. Consult the new documentation site for detailed guidance.