Skip to main content
Glama

Sentinel Aleph

Signal ledger

get_signal_ledger
Read-onlyIdempotent

Summarises the public ledger's track record. matured_book is the settled record: one row per Zurich month past the 96-hour maturity guard, with published, entered, take-profit and stop-loss counts, net P&L after the market-aware cost model for every entered position (BTC veto closes included) and without the veto closes, and the veto closes' own gross and net. The counters (headline, pnl, by_engine) start at metric_epoch; when stats_epoch_daily is true they restart every day at 00:00 Zurich, so their matured win rate is usually empty and the track record is matured_book. Use it to judge how signals have performed; for what is open now use get_open_signals, and for vetoed signals use get_vetoed_signals. win_rate is null until n reaches 20 (the same floor per engine); P&L fields are null when no position was entered; P&L is percentage points summed per trade, not an account return; vetoed and scratched signals are not in the win rate. recent_limit adds that many latest settled outcomes (0 skips them; the full history is the CSV at export_path). No key needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recent_limitNoHow many recent settled outcomes to include.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pnlNoNet P&L since metric_epoch after the market-aware cost model. Null figures mean no position was entered.
errorNoSet only on a failed call (isError true): what went wrong.
headlineNoWin rate over matured decisive outcomes.
by_engineNoOne row per engine, keyed by engine name.
matured_bookNoThe settled record: Zurich months past the maturity guard, from /api/public/ledger/monthly. Null when the ledger is unreachable.
metric_epochNoStart of the current stats epoch (RFC 3339).
open_signalsNoOf those, still open.
recent_settledNoMost recent settled outcomes (recent_limit rows).
published_signalsNoSignals published in the epoch.
stats_epoch_dailyNoTrue when the counters restart every day at 00:00 Zurich; then matured_book is the track record.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedOutput schema / properties / matured_book
      Added value: +{
      +  "description": "The settled record: Zurich months past the maturity guard, from /api/public/ledger/monthly. Null when the ledger is unreachable.",
      +  "properties": {
      +    "cost_model": {
      +      "description": "The cost model the nets subtract."
      +    },
      +    "latest_matured_month": {
      +      "description": "Newest matured month, null when none.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "maturity_hours": {
      +      "description": "Maturity guard, hours.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "months": {
      +      "description": "Matured months, oldest first.",
      +      "items": {
      +        "description": "One month.",
      +        "properties": {
      +          "all_entered": {
      +            "description": "Every entered position, BTC veto closes included.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "all_entered_net_avg_percent": {
      +            "description": "Net per entered position, percent; null when none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "all_entered_net_total_points": {
      +            "description": "Net sum, points; null when none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "breakeven": {
      +            "description": "Closed flat at entry.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "entered": {
      +            "description": "Entered positions not closed by the BTC veto.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "losses": {
      +            "description": "Stop-loss hits.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "month": {
      +            "description": "YYYY-MM, Zurich.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "net_avg_percent": {
      +            "description": "Their net per trade, percent; null when none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "net_total_points": {
      +            "description": "Their net sum, points; null when none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "published": {
      +            "description": "Signals published.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "veto_closed": {
      +            "description": "Entered positions closed by the BTC veto.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "veto_closed_gross_points": {
      +            "description": "Their summed price move before costs; null when none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "veto_closed_net_points": {
      +            "description": "The same after the cost model; null when none.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "wins": {
      +            "description": "Take-profit hits.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "note": {
      +      "description": "How to read the figures.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "settling_months": {
      +      "description": "Months still inside the maturity guard.",
      +      "items": {
      +        "description": "YYYY-MM.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": "array"
      +    },
      +    "source": {
      +      "description": "Endpoint the rows come from.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "timezone": {
      +      "description": "Clock the months are cut on.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / pnl / description
      Previous value: -"Net P&L after the published cost model."New value: +"Net P&L since metric_epoch after the market-aware cost model. Null figures mean no position was entered."
    • changedOutput schema / properties / pnl / properties / avg_net_pnl_percent_per_trade / description
      Previous value: -"Average net result per trade, percent."New value: +"Average net result per entered position, percent."
    • addedOutput schema / properties / pnl / properties / cost_model
      Added value: +{
      +  "description": "The published cost model: spot and futures fees, futures funding."
      +}
    • addedOutput schema / properties / pnl / properties / entered_positions
      Added value: +{
      +  "description": "Every entered position, BTC veto closes included.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / pnl / properties / ex_veto
      Added value: +{
      +  "description": "The same without the BTC veto closes.",
      +  "properties": {
      +    "avg_net_pnl_percent_per_trade": {
      +      "description": "Average net result per trade, percent.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "entered_positions": {
      +      "description": "Entered positions not closed by the BTC veto.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "gross_profit_factor": {
      +      "description": "Gross profit / gross loss.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "max_drawdown_points": {
      +      "description": "Largest peak-to-trough fall of that sum, points.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "scope": {
      +      "description": "What these figures count.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "total_net_pnl_points": {
      +      "description": "Sum of per-trade percentages, points.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • removedOutput schema / properties / pnl / properties / profit_factor
      Removed value: -{
      -  "description": "Gross profit / gross loss.",
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / pnl / properties / scope
      Added value: +{
      +  "description": "What the lead figures count.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / pnl / properties / veto_closed
      Added value: +{
      +  "description": "Entered positions closed early by the BTC veto.",
      +  "properties": {
      +    "gross_total_points": {
      +      "description": "Their summed price move, before costs.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "n": {
      +      "description": "Veto closes.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "net_total_points": {
      +      "description": "The same after the cost model.",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / stats_epoch_daily
      Added value: +{
      +  "description": "True when the counters restart every day at 00:00 Zurich; then matured_book is the track record.",
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "by_engine": {
      +      "additionalProperties": {
      +        "description": "One engine's record.",
      +        "properties": {
      +          "avg_net_pnl_percent": {
      +            "description": "Average net result per trade, percent.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "losses": {
      +            "description": "Stop-loss hits.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "matured_n": {
      +            "description": "Matured decisive outcomes.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "observations": {
      +            "description": "All settled rows, decisive or not.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "win_rate": {
      +            "description": "0 to 1; null below win_rate_withheld_lt.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "win_rate_withheld_lt": {
      +            "description": "Sample floor (20).",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "wins": {
      +            "description": "Take-profit hits.",
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "description": "One row per engine, keyed by engine name.",
      +      "type": "object"
      +    },
      +    "error": {
      +      "description": "Set only on a failed call (isError true): what went wrong.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "headline": {
      +      "description": "Win rate over matured decisive outcomes.",
      +      "properties": {
      +        "cohort": {
      +          "description": "What n counts.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "losses": {
      +          "description": "Stop-loss hits.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "min_n_for_win_rate": {
      +          "description": "Sample floor below which win_rate is withheld (20).",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "n": {
      +          "description": "Matured decisive outcomes.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "win_rate": {
      +          "description": "wins / n, 0 to 1; null while n < min_n_for_win_rate.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "win_rate_display": {
      +          "description": "The same figure as the public page shows it.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "wins": {
      +          "description": "Take-profit hits.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "metric_epoch": {
      +      "description": "Start of the current stats epoch (RFC 3339).",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "open_signals": {
      +      "description": "Of those, still open.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "pnl": {
      +      "description": "Net P&L after the published cost model.",
      +      "properties": {
      +        "avg_net_pnl_percent_per_trade": {
      +          "description": "Average net result per trade, percent.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "max_drawdown_points": {
      +          "description": "Largest peak-to-trough fall of that sum, points.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "note": {
      +          "description": "How to read the figures.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "profit_factor": {
      +          "description": "Gross profit / gross loss.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "total_net_pnl_points": {
      +          "description": "Sum of per-trade percentages: points, not an account return.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "published_signals": {
      +      "description": "Signals published in the epoch.",
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "recent_settled": {
      +      "description": "Most recent settled outcomes (recent_limit rows).",
      +      "properties": {
      +        "export_path": {
      +          "description": "CSV export of the full history.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "rows": {
      +          "description": "Newest first.",
      +          "items": {
      +            "description": "One settled signal.",
      +            "properties": {
      +              "combo": {
      +                "description": "Confluence combo.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "created_at": {
      +                "description": "Published at (RFC 3339).",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "direction": {
      +                "description": "long or short.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "entry": {
      +                "description": "Entry price.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "exit_price": {
      +                "description": "Exit price.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "exit_type": {
      +                "description": "How it ended, e.g. tp_hit or sl_hit.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "pnl_percent": {
      +                "description": "Result, percent.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "stop_loss": {
      +                "description": "Stop-loss price.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "symbol": {
      +                "description": "Pair.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "take_profit_1": {
      +                "description": "First target.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "win": {
      +                "description": "True for a win.",
      +                "type": [
      +                  "boolean",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "total": {
      +          "description": "All settled rows in the epoch.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources