Grouped by what you were doing when the problem appeared. If none of these match, the Issues & Logs tab on the run itself is where specific failures surface with classified codes and log context.
Publishing a strategy
Publish failed with a validation error
The toast shows the exact problem. Common causes:
-
strategy.pyorconfig_schema.jsonis empty. Add content and republish. -
A helper filename does not match the allowed pattern
(
[a-zA-Z0-9_-][a-zA-Z0-9_.-]*\.py), or uses a reserved name (strategy.py,config_schema.json). - A single file exceeds 10 MB, or the bundle exceeds 50 MB, or you have more than 48 helper files.
-
config_schema.jsonis not valid JSON, not a JSON object, not a valid JSON Schema Draft 7, or uses a remote$ref(remote refs are rejected).
If you imported a schema or hand-edited
config_schema.json, the validator can also reject:
-
A Symbol parameter has no asset type set, or uses an asset type
other than the supported set (
EQUITY,FUTURE). The form picker prevents this; seeing this error usually means the schema was hand-edited. (Raw-schema name:x-periscope-asset-type.) -
A Bar Frequency parameter has no value pinned and no list of
choices, or uses a value outside
second,minute,hour,day. - Strategy code reads a parameter as a Symbol or Bar Frequency but the parameter isn't declared as that type. Open the parameter in the editor and switch its Type. If you did not edit raw JSON, this usually means the strategy code and the parameter form are out of sync.
Schema contains unsupported properties
The Strategy Parameters panel warns when your raw schema JSON uses types it can't render visually. You can still publish if you don't edit parameters in the visual panel; once you do, the unsupported properties get replaced. Keep an imported schema as is, or stick to the supported parameter types in the visual editor (the Type picker covers them all). Only edit the raw schema if you need shapes outside that set.
Creating or starting a run
Start button is disabled
Two reasons.
- The config is still loading. Wait a moment, then try again.
- The run has no config yet. Click Edit Config (or Create Config) on the Configuration tab and fill it in.
"Symbols don't match the strategy's asset type"
The Create Run dialog blocks submit when a Symbol parameter holds a
ticker that doesn't resolve to the declared asset type. For example,
entering SPY in a field declared as FUTURE.
Fix the ticker to match the expected asset type, or open the strategy
editor and change the field's declared asset type.
Couldn't reach the backend
The app shows a dedicated screen with a Retry button if the backend is unreachable at sign in time. This is usually transient. If it persists, contact support.
Observing a run
Run is in error status
The run detail opens on Issues & Logs. Start with the most recent Strategy issues; they are usually the cause. See Run Diagnostics for the full tree.
No issues, no trades
Check the Configuration tab for wrong symbols, timeframes, or time windows. Then expand Strategy logs on the diagnostics tab and skim for anything your strategy printed about why it did or did not enter.
Diagnostics temporarily unavailable
Shown when the diagnostics service is briefly unreachable. Refresh in a moment. If the placeholder persists, contact support.
No orders CSV to download
The Download Orders button surfaces an informational toast if the run has no EMS orders yet. Either the run has not placed orders, or it has not started. Try again after it runs.
AI assistant
Rate limited
The app toasts a retry delay. Wait the specified number of seconds, then send the request again.
Suggestions don't match the error
You likely have unsaved edits open in the editor while debugging a past run. The assistant banner warns about this on handoff. Save the current version (Publish) or revert before running a new debug pass.
Mode specific
Works in Backtest, fails in Paper
Conditions that can differ between modes include session boundaries, futures contract resolution, and order rejections under exchange rules. Compare the Paper run's logs with a Backtest run over the same recent window to isolate the cause.
Live mode is not available
Live is gated and disabled by default. Contact support to enable it.