You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -122,8 +122,9 @@ For IBKR, keep `paper` as a single account-group entry. If you later add live ac
122
122
|`CRISIS_ALERT_TELEGRAM_CHAT_IDS`| No | Dedicated crisis-alert Telegram chat IDs. Separate from the strategy-cycle Telegram chat. |
123
123
|`CRISIS_ALERT_TELEGRAM_BOT_TOKEN`| No | Dedicated crisis-alert Telegram bot token. For Cloud Run, prefer `CRISIS_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME` in env sync. |
124
124
125
-
The selected account-group entry must provide at least:
125
+
For the default Gateway execution backend, the selected account-group entry must provide at least:
126
126
127
+
-`execution_backend` (optional; defaults to `gateway`)
127
128
-`ib_gateway_instance_name`
128
129
-`ib_gateway_mode`
129
130
-`ib_client_id`
@@ -136,6 +137,8 @@ For the recommended Cloud Run deployment, also include:
136
137
137
138
If you use instance-name resolution with `ib_gateway_zone`, the Cloud Run runtime service account needs `roles/compute.viewer`. If you load the payload from Secret Manager, the same runtime service account also needs `roles/secretmanager.secretAccessor` on `ibkr-account-groups`.
138
139
140
+
The account-group entry may also set `execution_backend` to `quantconnect`. In that mode, Gateway host/port/client-id fields are no longer required and this Cloud Run service will fail fast instead of accidentally connecting to Gateway. The QuantConnect path is a deployment/algorithm backend: real account mapping, QuantConnect project/node/compile identifiers, API token, and IBKR brokerage credentials must stay in private runtime configuration, and a QuantConnect algorithm must consume the same strategy or target configuration before live orders can be placed.
141
+
139
142
**Recommended shared-config mode**
140
143
141
144
For the current first rollout, keep GitHub / Cloud Run focused on service-level values:
- missing key fields in the selected group (`ib_gateway_instance_name`, `ib_gateway_mode`, `ib_client_id`) → startup error
227
+
- missing Gateway key fields in a `gateway` group (`ib_gateway_instance_name`, `ib_gateway_mode`, `ib_client_id`) → startup error
228
+
- direct Gateway execution requested while `execution_backend=quantconnect` → startup error before any Gateway connection attempt
224
229
225
230
When `IBKR_STRATEGY_PLUGIN_MOUNTS_JSON` includes the `crisis_response_shadow` plugin, the normal strategy-cycle Telegram message still includes the compact plugin line. If the plugin signal escalates beyond `no_action` (for example `canonical_route=true_crisis`, `suggested_action=defend`/`blocked`, or `would_trade_if_enabled=true`), the service also sends independent crisis alerts through configured `CRISIS_ALERT_CHANNELS` channels.
226
231
Alert results are written into the runtime report. Duplicate suppression uses stable plugin alert keys and stores markers under `STRATEGY_PLUGIN_ALERT_STATE_GCS_URI` when set, otherwise `EXECUTION_REPORT_GCS_URI`, with a local `/tmp` marker fallback.
0 commit comments