Este ejemplo ya respeta el esquema exacto que valida la app actualmente.
{
"schema_version": "1.0",
"message_id": "tv-btc-momentum-20260620-120001-enter-long",
"sent_at": "2026-06-20T12:00:01Z",
"source": {
"publisher_id": "criptocampus-labs",
"publisher_name": "Criptocampus Labs",
"integration_id": "tradingview-prod",
"token_id": "tv-main-feed"
},
"strategy": {
"strategy_id": "btc-momentum-dca",
"name": "BTC Momentum DCA",
"version": "1.2.0",
"manifest_hash": "sha256-btc-momentum-dca-v1-2-0",
"last_modified_at": "2026-06-20T11:58:00Z",
"description": {
"short": "Estrategia de momentum con entradas L0 y DCA sobre BTCUSDT.",
"long": "Publica señales ENTER_LONG, DCA_LONG y EXIT_LONG para usuarios suscritos en wallets compatibles."
},
"market": {
"market_type": "futures",
"symbol": "BTCUSDT",
"base_asset": "BTC",
"quote_asset": "USDT",
"position_mode": "one_way",
"contract_type": "linear_perpetual",
"default_exchange": "bingx",
"allowed_exchanges": [
"bingx",
"bybit"
],
"timeframe": "15m"
},
"risk": {
"profile": "medium",
"max_drawdown_pct": 8.5
},
"metrics": {
"win_rate_pct": 63.4,
"realized_pnl_pct": 18.2
},
"parameters": [
{
"key": "margin_usd",
"label": "Margen en USDT",
"type": "number",
"default": 15,
"required": true
},
{
"key": "leverage",
"label": "Apalancamiento",
"type": "number",
"default": 10,
"required": true
},
{
"key": "take_profit_pct",
"label": "Take profit %",
"type": "number",
"default": 2.4,
"required": false
},
{
"key": "stop_loss_pct",
"label": "Stop loss %",
"type": "number",
"default": 1.2,
"required": false
}
]
},
"signal": {
"action": "ENTER_LONG",
"level": "L0",
"price": 62112.1,
"reason": "Momentum breakout",
"margin_usd": 15,
"leverage": 10
}
}