-
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathCHANGELOG
More file actions
192 lines (155 loc) · 8.46 KB
/
CHANGELOG
File metadata and controls
192 lines (155 loc) · 8.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
v1.5.2 - [1/10/2025]
- Refactored version management: removed external version file, now using CMakeLists.txt directly
- Simplified versioning scheme from 4-part to 3-part semantic versioning (MAJOR.MINOR.PATCH)
- Fixed null pointer exception in logger initialization for Zorro versions prior to 2.48
- Added GitHub release workflow to build both 32-bit and 64-bit binaries with matrix strategy
v1.5.1.2 - [10/05/2025]
- Increase slick_logger string buffer size to 10M. The default size is too small for all assets response.
- Update README
v1.5.1.1 - [10/04/2025]
- Fix MSVC C4293 warning (shift count negative or too big) in x86 builds for slick_logger
- Fix MSB8028 warning (shared intermediate directory) by separating intermediate directories per platform
- Update slick_logger to v1.0.0.6
- Update websocket_proxy to v1.1.1.1
- Add CONTRIBUTING.md
- Updated BUILD.md and README.md
v1.5.1.0 - [9/12/2025]
- Replace spdlog with slick_logger
- Add slick_logger header for logging functionality
- Add slick_queue header for queuing operations
- Remove all spdlog include files to eliminate dependency
- Update websocket_proxy binary (rebuilt due to library changes)
- Handle new CryptoPrep class type
- Add a setting to optional passing LogLevel change into WebSocketProxy
v1.5.0.0 - [8/20/2025]
- Implemented a setting dialog to support changing logging level at run time
- Enhanded throttler to reduce pulling Alpaca Account and Clock.
- Fixed race condition in websocket subscription access that could cause crashes during concurrent operations
- Changed websocket subscription storage from unordered_map to vector with shared_ptr for thread-safe access
- Fixed typos in client.cpp
- Fixed logic error in order status check (AND -> OR for canceled/expired orders)
- Fixed Unicode string conversion issue in Windows shared memory creation
v1.4.0
- Added Crypto and Options support
- Removed Polygon market data support
- Added x64 build
- Removed git submodules
- Added cmake build
- Updated to 64bit WebSocketProxy
- Changed to Spdlog
v1.3.4
- Subscribe to Trades or Quotes via WebSocket based on the price type set in the script.
- Add REST API throttle for Free MD plan.
- When WebSocket is enabled, subscribe price from REST API once to avoid querying REST API repeatedly due to illiquid symbols.
- Add milliseconds in the log.
- Fixed unfilled LimitOrder treated as filled by Zorro.
v1.3.3
- Reverted the addition of the IEX feed for historical data, quotes, trades, and snapshots. This change ensures consistency with previous behavior.
- Fixed an issue where historical data downloads for the free plan did not extend beyond the year 2020.
v1.3.2
- Set the market data feed for the free market data plan to IEX. This ensures accurate and reliable data for users on the free plan.
- Fixed an issue where the market was incorrectly marked as closed.
- Corrected the application of some log types that were not being applied correctly.
- Fixed an issue where failed WebSocket login might cause crash.
v1.3.1
- Rollback the sandbox WebSocket endpoint for Paper account. The endpoint doesn't work.
v1.3.0
- Dropped Polygon support.
- Added latest quotes, latest trades and snapshots support.
- Added paper account WebSocket endpoint.
- Added Adjustment support for history bar download.
- Added log type to fine-tune what to log.
v1.2.1
- Added Type column in the AssetList.csv.
- Changed the MarginCost to -100 in the AssetList.csv
v1.2.0
- Added AlpacaBrokerCommands.h header file.
- Added fractional qty support
- Added AlpacaFractionalLotAmount config. Set this config will modify the LotAmount of a fractionable asset.
For example: with AlpacaFractionalLotAmount = 0.0001 in the Zorro.ini or ZorroFix.ini, enterLong(1) places a bid of 0.0001 shares of a fractionable asset
- Use brokerCommand(IS_ASSET_FRACTIONABLE, Asset) to check if current Asset is fractionable. (Need to include AlpacaBorkerCommands.h in the strategy)
- Fix MOC and MOO order can't open error.
- Added IS_ASSERET_FRACTIONABLE, IS_ASSET_SHORTABLE, IS_ASSET_EASY_TO_BORROW, IS_ASSET_MARGINABLE custom broker commands
- Added a Description column in the generated AssetList.csv
v1.1.0
- Fix typos
- Rename asset list to AssetAlpacaPaper.csv in Demo mode.
- Stop generating AssetList if the "Close" button is clicked.
- To reduce messaging, the BrokerTrade command will not fetch a filled, canceled, or expired order repeatedly. It will use the last quote from WebSocket if WebSocket is enabled.
- Change daily TimeFrame from '1D' to '1Day', added 15 minutes TimeFrame.
- Stop historical data downloading if the "Close" button is clicked.
- Trim symbols in the genAssetList custom broker command.
v1.0.6
- BrokerBuy2 wait for the order change to the right status
- Prevent from re-open Websocket if it failed to open during login
v1.0.5.1
- [HotFix] Fix order request object didn't pass to Alpaca. #4
v1.0.5
- Fixed an issue where when Zorro Logout/Re-Login after market close/re-open, Zorro doesn't resubscribe assets which cause the plugin not to reopen WebSockets
v1.0.4
- Fix when historical data taking too long, the plugin stopped getting real data from the WebSocket
v1.0.3
- Improve Historical data download
v1.0.2.1
- Fix server_queue_ not ready on the administrator account
v1.0.2
- Improved logger performance.
- Retrieve LastTrade/LastQuote from the new V2 snapshot endpoint.
- Download historical data from V2 Bars endpoint.
- Unsubscribe Websocket properly when logout.
- Added AlpacaUseWebsocket config to turn off Websocket.
v1.0.1
- Fix sometimes server heartbeat timeout after the first strategy launching the proxy server
- Shutdown proxy server 10 seconds after last strategy logout.
- Start client worker thread on strategy login. Stop client worker thread on strategy logout.
- GET_LOCK broker command returns 1 now.
- Default WebSocket URL to Pro plan URL.
v1.0.0
- Introduced ZorroWebsocketProxy so that multiple ZorroS instances can share one WebSocket connection
**NOTE** ZorroWebsocketProxy adopts a lock-free design that spins on one CPU core. High CPU usage is normal and expected.
- Added Alpaca MarketData V2 Websocket support
- Las trade and last quote are directly from the WebSocket stream. This is dramatically reduced the Zorro API query.
- if the last trade or last quote update has not been received yet, the plugin will pull the last trade and quote from the V1 endpoint.
- Added Alpaca plugin specific setting to Zorro.ini or ZorroFix.ini file.
- AlpacaDataSource = 1 // 0 = Alpaca, 1 = Polygon
- AlpacaPaidDataPlan = 1 // 0 = False, 1 = True
- AlpacaLogLevel = 0 // 0 = OFF, 1 = ERROR, 2 = WARNING, 3 = INFO, 4 = DEBUG, 5 = TRACE
- PolygonApiKey = "*************" // Polygon ApiKey
please refer to the README.md for details.
- Historical bars are still retrieved from the V1 endpoint because V2 Historical Bars are not ready yet.
- Polygon MarketData is still supported, but the ApiKey has moved into the Zorro config file.
NOTE: Polygon free plan can't be used as an alternative market data source due to lack of last trade and last quote data.
v0.2.6
- Get Polygon.io support back
v0.2.5
- [bug fix] Fix duplicate entry in the history data download
- Implemented a throttler to prevent requests from exceeding the rate limit
- Remove Polygon support.
All Polygon.io services through Alpaca will be discontinued after Feb. 26 2021 market is closed.
The plugin will no longer be able to use Polygon.io data feed via the Alpaca API key.
v0.2.4
- Support both Alpaca market data and Polygon in live mode.
* "APIKey" in User input, use Alpaca market data
* "APIKey_APIKey" in User input, use Polygon market data.
- [bug fix] - In live mode, historical market data download might use 60 minutes bar which is not supported by Alpaca.
- Added LastTrade price type support.
- Implement GET_PRICETYPE broker command
- [bug fix] Not return correct short position
v0.2.3
[bugfix] - Fix Polygon historical data download stuck when there is no more data to download.
v0.2.2
- Add PIPCost in the generated asset list
v0.2.1
[Feature] - Add AssetList download broker command.
[Improvement] - Handle asset not found.
[bugfix] - When switching to Alpaca market data, the log message still shows Polygon.
[bugfix] - Empty bars causes crash in diagnostic.
v0.2.0
[new feature] - Added Polygon market data support.
[bugfix] - Fix order replacement.
v0.1.2
[hotfix] - Change Live market data API URL to Alpaca market data.
v0.1.1
[hotfix] - Fix Quote deserialization cause a crash in the prod build.
v0.1.0
- Initial Release