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"
+}