Skip to main content

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