PublicStrategy
The lean, anonymous, allowlisted projection of a PINNED strategy version. This
is the ENTIRE public surface of a shared strategy — it is built field-by-field
per tier and NEVER embeds the strategy entity, so it carries no owner/ids, no
linked bot/exchange, no secrets, no view-secrets fields, and no mangled
codegen class name (the human display name is used).
Tiers (driven by projectionLevel):
- card: name, description, indicator TYPES, timeframe, market/position mode, and a high-level tree SHAPE summary. No param values, no full tree.
- visual: card +
maskedLogic— the full condition-tree STRUCTURE with every constant/threshold value and indicator param masked. - full: card +
fullLogic— the complete UI-builder logic including values.
type PublicStrategy {
projectionLevel: ShareProjectionLevel!
name: String!
description: String
timeframe: String
tradingType: String
positionMode: String
versionNumber: Int!
indicatorTypes: [String!]!
entrySummary: String
exitSummary: String
authorHandle: String
maskedLogic: Map
fullLogic: Map
}
Fields
PublicStrategy.projectionLevel ● ShareProjectionLevel! non-null enum
The publisher's chosen projection level (card = teaser, visual = masked tree, full = everything).
PublicStrategy.name ● String! non-null scalar
Human display name (the publisher-authored Strategy.name — never the mangled Freqtrade class name).
PublicStrategy.description ● String scalar
PublicStrategy.timeframe ● String scalar
Chart timeframe (e.g. '1h') — from the plaintext mirror column.
PublicStrategy.tradingType ● String scalar
Market type: SPOT / MARGIN / FUTURES.
PublicStrategy.positionMode ● String scalar
Directional capability: LONG_ONLY / SHORT_ONLY / LONG_AND_SHORT.
PublicStrategy.versionNumber ● Int! non-null scalar
The pinned immutable version number (honesty: the link points at exactly this version).
PublicStrategy.indicatorTypes ● [String!]! non-null scalar
Distinct indicator TYPES used (e.g. ['RSI','EMA','BB']) — types only, never params. Empty for code-mode or encrypted strategies.
PublicStrategy.entrySummary ● String scalar
High-level entry-logic shape (e.g. '2 conditions (all of)') — structure only, no values.
PublicStrategy.exitSummary ● String scalar
High-level exit-logic shape — structure only, no values.
PublicStrategy.authorHandle ● String scalar
Publisher handle, surfaced ONLY when the publisher explicitly opts in. Always null until an opt-in field exists — owner identity/PII is never leaked.
PublicStrategy.maskedLogic ● Map scalar
VISUAL/FULL only. The condition-tree STRUCTURE (node types, operators, indicator refs, AND/OR grouping) with every constant/threshold value and indicator param MASKED. Null at the card tier. Built explicitly — never the raw uiBuilderConfig.
PublicStrategy.fullLogic ● Map scalar
FULL only. The complete UI-builder logic INCLUDING values — the publisher's explicit choice. Null at the card/visual tiers. Carries only strategy logic (no owner/ids/secrets); the encryption envelope is stripped.
Returned By
publicStrategy query