{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/es/developers/operations/getcharteventbuckets","title":"Obtener eventos de posición para indicadores del gráfico agrupados por velas","description":"GET /positions/{accountId}/{asset}/chart-events/buckets: Eventos de posición de la cuenta en un mercado agrupados por velas de la resolución solicitada, la vela más antigua…","kind":"api-operation","locale":"es","inLanguage":"es","translation":{"sourceLanguage":"en","targetLanguage":"es","status":"complete","translatedUnits":34,"totalUnits":34},"lastModified":"2026-09-28T20:05:09.350Z","revision":"3c2fd254d25c5fe88817d5c939afd24407f25862bdfb7b9dc8ab5105728c7abe","section":{"title":"Developers","url":"https://docs.upscale.trade/es/developers"},"representations":{"html":"https://docs.upscale.trade/es/developers/operations/getcharteventbuckets","markdown":"https://docs.upscale.trade/es/developers/operations/getcharteventbuckets.md","json":"https://docs.upscale.trade/es/developers/operations/getcharteventbuckets.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getcharteventbuckets","ru":"https://docs.upscale.trade/ru/developers/operations/getcharteventbuckets","es":"https://docs.upscale.trade/es/developers/operations/getcharteventbuckets"},"operation":{"id":"getChartEventBuckets","method":"GET","path":"/positions/{accountId}/{asset}/chart-events/buckets","summary":"Obtener eventos de posición para indicadores del gráfico agrupados por velas","description":"Eventos de posición de la cuenta en un mercado agrupados por velas de la resolución solicitada, la vela más antigua primero.\n\n- Las velas se alinean de la misma manera en que lo hace el datafeed: una vela comienza en un múltiplo de la resolución desde la época unix, una diaria a\n  medianoche UTC.\n- Una vela se incluye cuando su inicio se encuentra dentro de `[from, to]`; la distancia entre `from` y `to` no puede exceder 350 velas.\n- Las velas sin eventos se omiten.\n- Cada vela tiene un lado `buy` (aumentos de largos, disminuciones de cortos, cierres y liquidaciones) y un lado `sell` (aumentos de cortos, disminuciones de largos,\n  cierres y liquidaciones). Un lado contiene hasta 5 eventos más recientes, primero los más nuevos, y el número de todos sus eventos en la vela.\n- Solo se cuentan los aumentos, cierres, cierres forzosos y liquidaciones; los cambios de financiación y margen no son eventos del gráfico.\n- Limitado a la fase en la que se encuentra actualmente la cuenta.","tags":["Trading"],"tagLabels":{"Accounts":"Cuentas","Config":"Configuración","Trading":"Trading"},"deprecated":false,"parameters":[{"name":"accountId","location":"path","schema":{"type":"string · uuid","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"properties":[],"variants":[]},"type":"string · uuid","required":true,"description":"Identificador de la cuenta del trader. Debe pertenecer al solicitante.","example":"00000000-0000-4000-8000-000000000000"},{"name":"asset","location":"path","schema":{"type":"string","types":["string"],"example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"minLength":1},"properties":[],"variants":[]},"type":"string","required":true,"description":"Ticker del activo base del mercado, tal como lo devuelve `GET /v2/markets`.","example":"BTC"},{"name":"resolution","location":"query","schema":{"type":"string · enum","types":["string"],"example":"60","enum":["1","5","15","30","60","240","1D"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"type":"string · enum","required":true,"description":"Resolución de velas para agrupar eventos, mismos valores que el endpoint `/history` del datafeed.","example":"60"},{"name":"from","location":"query","schema":{"type":"integer","types":["integer"],"example":1767225600,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"minimum":0,"maximum":9007199254740991},"properties":[],"variants":[]},"type":"integer","required":true,"description":"Comienzo de la primera vela, marca de tiempo unix en segundos (inclusive).","example":"1767225600"},{"name":"to","location":"query","schema":{"type":"integer","types":["integer"],"example":1768482000,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"minimum":0,"maximum":9007199254740991},"properties":[],"variants":[]},"type":"integer","required":true,"description":"Comienzo de la última vela, marca de tiempo unix en segundos (inclusive).","example":"1768482000"}],"bodies":[],"responses":[{"status":"401","description":"No autorizado","properties":[],"headers":[]},{"status":"403","description":"La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`).","properties":[],"headers":[]},{"status":"404","description":"No hay ninguna cuenta con este identificador, o no hay ningún mercado para este ticker.","properties":[],"headers":[]},{"status":"429","description":"Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`.","properties":[],"headers":[]},{"status":"default","description":"Respuesta","mediaType":"application/json","properties":[],"schema":{"type":"object[]","types":["array"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"title":"ChartEventBucketResponse","reference":"#/components/schemas/ChartEventBucketResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"time","type":"number","required":true,"description":"Comienzo de la vela, marca de tiempo unix en segundos.","example":"1767225600","schema":{"type":"number","types":["number"],"description":"Comienzo de la vela, marca de tiempo unix en segundos.","example":1767225600,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"buy","type":"object","required":true,"description":"Lado de compra: aumentos de posiciones largas y disminuciones, cierres y liquidaciones de posiciones cortas.","example":"{\n  \"totalCount\": 12,\n  \"events\": [\n    {\n      \"asset\": \"BTC\",\n      \"direction\": \"long\",\n      \"eventName\": \"open\",\n      \"executedAt\": 1767225599,\n      \"price\": \"1000000000\",\n      \"size\": \"1000000000\"\n    }\n  ]\n}","schema":{"type":"object","types":["object"],"title":"ChartEventSideGroupResponse","description":"Lado de compra: aumentos de posiciones largas y disminuciones, cierres y liquidaciones de posiciones cortas.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"totalCount","type":"number","required":true,"description":"Número de todos los eventos de este lado en la vela.","example":"12","schema":{"type":"number","types":["number"],"description":"Número de todos los eventos de este lado en la vela.","example":12,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"events","type":"object[]","required":true,"description":"Hasta los 5 eventos más recientes de este lado en la vela, los más recientes primero.","example":"[\n  {\n    \"asset\": \"BTC\",\n    \"direction\": \"long\",\n    \"eventName\": \"open\",\n    \"executedAt\": 1767225599,\n    \"price\": \"1000000000\",\n    \"size\": \"1000000000\"\n  }\n]","schema":{"type":"object[]","types":["array"],"description":"Hasta los 5 eventos más recientes de este lado en la vela, los más recientes primero.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"title":"ChartEventResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"asset","type":"string","required":true,"description":"Ticker del activo base del mercado en el que ocurrió el evento.","example":"BTC","schema":{"type":"string","types":["string"],"description":"Ticker del activo base del mercado en el que ocurrió el evento.","example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"direction","type":"string · enum","required":true,"description":"Dirección de la posición a la que pertenece el evento.","example":"long","schema":{"type":"string · enum","types":["string"],"description":"Dirección de la posición a la que pertenece el evento.","enum":["long","short"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"eventName","type":"string · enum","required":true,"description":"Qué representa el marcador: `open` para el primer aumento de una posición, `increase` para los posteriores, `decrease` para un cierre parcial, `close` para un cierre total y `liquidation` para una liquidación.","example":"open","schema":{"type":"string · enum","types":["string"],"description":"Qué representa el marcador: `open` para el primer aumento de una posición, `increase` para los posteriores, `decrease` para un cierre parcial, `close` para un cierre total y `liquidation` para una liquidación.","enum":["open","increase","decrease","close","liquidation"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"executedAt","type":"number","required":true,"description":"Cuándo ocurrió el evento, marca de tiempo unix en segundos.","example":"1767225599","schema":{"type":"number","types":["number"],"description":"Cuándo ocurrió el evento, marca de tiempo unix en segundos.","example":1767225599,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"price","type":"string · int32","required":true,"description":"Precio al que se ejecutó el evento, fp9 en bruto — cotización intercambiada sobre base intercambiada.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Precio al que se ejecutó el evento, fp9 en bruto — cotización intercambiada sobre base intercambiada.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"size","type":"string · int32","required":true,"description":"Tamaño absoluto que movió el evento, en unidades del activo base, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Tamaño absoluto que movió el evento, en unidades del activo base, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}],"variants":[]},"variants":[]}}],"variants":[]}},{"name":"sell","type":"object","required":true,"description":"Lado de venta: aumentos de posiciones cortas y disminuciones, cierres y liquidaciones de posiciones largas.","example":"{\n  \"totalCount\": 12,\n  \"events\": [\n    {\n      \"asset\": \"BTC\",\n      \"direction\": \"long\",\n      \"eventName\": \"open\",\n      \"executedAt\": 1767225599,\n      \"price\": \"1000000000\",\n      \"size\": \"1000000000\"\n    }\n  ]\n}","schema":{"type":"object","types":["object"],"title":"ChartEventSideGroupResponse","description":"Lado de venta: aumentos de posiciones cortas y disminuciones, cierres y liquidaciones de posiciones largas.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"totalCount","type":"number","required":true,"description":"Número de todos los eventos de este lado en la vela.","example":"12","schema":{"type":"number","types":["number"],"description":"Número de todos los eventos de este lado en la vela.","example":12,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"events","type":"object[]","required":true,"description":"Hasta los 5 eventos más recientes de este lado en la vela, los más recientes primero.","example":"[\n  {\n    \"asset\": \"BTC\",\n    \"direction\": \"long\",\n    \"eventName\": \"open\",\n    \"executedAt\": 1767225599,\n    \"price\": \"1000000000\",\n    \"size\": \"1000000000\"\n  }\n]","schema":{"type":"object[]","types":["array"],"description":"Hasta los 5 eventos más recientes de este lado en la vela, los más recientes primero.","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"title":"ChartEventResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"asset","type":"string","required":true,"description":"Ticker del activo base del mercado en el que ocurrió el evento.","example":"BTC","schema":{"type":"string","types":["string"],"description":"Ticker del activo base del mercado en el que ocurrió el evento.","example":"BTC","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"direction","type":"string · enum","required":true,"description":"Dirección de la posición a la que pertenece el evento.","example":"long","schema":{"type":"string · enum","types":["string"],"description":"Dirección de la posición a la que pertenece el evento.","enum":["long","short"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"eventName","type":"string · enum","required":true,"description":"Qué representa el marcador: `open` para el primer aumento de una posición, `increase` para los posteriores, `decrease` para un cierre parcial, `close` para un cierre total y `liquidation` para una liquidación.","example":"open","schema":{"type":"string · enum","types":["string"],"description":"Qué representa el marcador: `open` para el primer aumento de una posición, `increase` para los posteriores, `decrease` para un cierre parcial, `close` para un cierre total y `liquidation` para una liquidación.","enum":["open","increase","decrease","close","liquidation"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"executedAt","type":"number","required":true,"description":"Cuándo ocurrió el evento, marca de tiempo unix en segundos.","example":"1767225599","schema":{"type":"number","types":["number"],"description":"Cuándo ocurrió el evento, marca de tiempo unix en segundos.","example":1767225599,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"price","type":"string · int32","required":true,"description":"Precio al que se ejecutó el evento, fp9 en bruto — cotización intercambiada sobre base intercambiada.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Precio al que se ejecutó el evento, fp9 en bruto — cotización intercambiada sobre base intercambiada.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}},{"name":"size","type":"string · int32","required":true,"description":"Tamaño absoluto que movió el evento, en unidades del activo base, fp9 en bruto.","example":"1000000000","schema":{"type":"string · int32","types":["string"],"description":"Tamaño absoluto que movió el evento, en unidades del activo base, fp9 en bruto.","example":"1000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"int32","pattern":"^(?:-?[1-9][0-9]*|0)$"},"properties":[],"variants":[]}}],"variants":[]},"variants":[]}}],"variants":[]}}],"variants":[]},"variants":[]},"example":"[\n  {\n    \"time\": 1767225600,\n    \"buy\": {\n      \"totalCount\": 12,\n      \"events\": [\n        {\n          \"asset\": \"BTC\",\n          \"direction\": \"long\",\n          \"eventName\": \"open\",\n          \"executedAt\": 1767225599,\n          \"price\": \"1000000000\",\n          \"size\": \"1000000000\"\n        }\n      ]\n    },\n    \"sell\": {\n      \"totalCount\": 12,\n      \"events\": [\n        {\n          \"asset\": \"BTC\",\n          \"direction\": \"long\",\n          \"eventName\": \"open\",\n          \"executedAt\": 1767225599,\n          \"price\": \"1000000000\",\n          \"size\": \"1000000000\"\n        }\n      ]\n    }\n  }\n]","headers":[]}],"security":[{"name":"bearer","type":"http · bearer","description":"Clave de API personal, con el prefijo `usk_`.","required":true,"scopes":[]}],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.upscale.trade/positions/{accountId}/{asset}/chart-events/buckets' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.upscale.trade/positions/{accountId}/{asset}/chart-events/buckets\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/positions/{accountId}/{asset}/chart-events/buckets\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"Qué es el prop trading","url":"https://docs.upscale.trade/es"},{"title":"Developers","url":"https://docs.upscale.trade/es/developers"},{"title":"Obtener eventos de posición para indicadores del gráfico agrupados por velas","url":"https://docs.upscale.trade/es/developers/operations/getcharteventbuckets"}],"headings":[{"depth":2,"id":"authorization","title":"Autorización"},{"depth":2,"id":"parameters","title":"Parámetros"},{"depth":2,"id":"examples","title":"Ejemplos"},{"depth":2,"id":"responses","title":"Respuestas"}],"markdown":"# Obtener eventos de posición para indicadores del gráfico agrupados por velas\n\n`GET /positions/{accountId}/{asset}/chart-events/buckets`\n\nEventos de posición de la cuenta en un mercado agrupados por velas de la resolución solicitada, la vela más antigua primero.\n\n- Las velas se alinean de la misma manera en que lo hace el datafeed: una vela comienza en un múltiplo de la resolución desde la época unix, una diaria a\n  medianoche UTC.\n- Una vela se incluye cuando su inicio se encuentra dentro de `[from, to]`; la distancia entre `from` y `to` no puede exceder 350 velas.\n- Las velas sin eventos se omiten.\n- Cada vela tiene un lado `buy` (aumentos de largos, disminuciones de cortos, cierres y liquidaciones) y un lado `sell` (aumentos de cortos, disminuciones de largos,\n  cierres y liquidaciones). Un lado contiene hasta 5 eventos más recientes, primero los más nuevos, y el número de todos sus eventos en la vela.\n- Solo se cuentan los aumentos, cierres, cierres forzosos y liquidaciones; los cambios de financiación y margen no son eventos del gráfico.\n- Limitado a la fase en la que se encuentra actualmente la cuenta.\n\n<a id=\"authorization\"></a>\n\n## Autorización\n\nbearer: http · bearer (obligatorio). Clave de API personal, con el prefijo `usk_`.\n\n<a id=\"parameters\"></a>\n\n## Parámetros\n\n- path: accountId (string · uuid; obligatorio). Identificador de la cuenta del trader. Debe pertenecer al solicitante.\n\nTipo: string · uuid\n\nformat: uuid\n\npattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$\n\n- path: asset (string; obligatorio). Ticker del activo base del mercado, tal como lo devuelve `GET /v2/markets`.\n\nTipo: string\n\nEjemplo: \"BTC\"\n\nminLength: 1\n\n- query: resolution (string · enum; obligatorio). Resolución de velas para agrupar eventos, mismos valores que el endpoint `/history` del datafeed.\n\nTipo: string · enum\n\nEjemplo: \"60\"\n\nValores permitidos: [\"1\",\"5\",\"15\",\"30\",\"60\",\"240\",\"1D\"]\n\n- query: from (integer; obligatorio). Comienzo de la primera vela, marca de tiempo unix en segundos (inclusive).\n\nTipo: integer\n\nEjemplo: 1767225600\n\nminimum: 0\n\nmaximum: 9007199254740991\n\n- query: to (integer; obligatorio). Comienzo de la última vela, marca de tiempo unix en segundos (inclusive).\n\nTipo: integer\n\nEjemplo: 1768482000\n\nminimum: 0\n\nmaximum: 9007199254740991\n\n<a id=\"example-curl\"></a>\n\n## Ejemplo · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/positions/{accountId}/{asset}/chart-events/buckets' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n<a id=\"example-javascript\"></a>\n\n## Ejemplo · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.upscale.trade/positions/{accountId}/{asset}/chart-events/buckets\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n<a id=\"example-python\"></a>\n\n## Ejemplo · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/positions/{accountId}/{asset}/chart-events/buckets\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n<a id=\"response-401\"></a>\n\n## Respuesta 401\n\n**401**  — No autorizado\n\n<a id=\"response-403\"></a>\n\n## Respuesta 403\n\n**403**  — La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`).\n\n<a id=\"response-404\"></a>\n\n## Respuesta 404\n\n**404**  — No hay ninguna cuenta con este identificador, o no hay ningún mercado para este ticker.\n\n<a id=\"response-429\"></a>\n\n## Respuesta 429\n\n**429**  — Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`.\n\n<a id=\"response-default-charteventbucketresponse\"></a>\n\n## Respuesta default · ChartEventBucketResponse\n\n**default** application/json — Respuesta\n\nTipo: object[]\n\n[]Esquema: ChartEventBucketResponse\n\n[]Tipo: object\n\n[]Campos obligatorios: time, buy, sell\n\n[]Tipos de campos obligatorios: time (number; obligatorio), buy (object; obligatorio), sell (object; obligatorio)\n\n- []time (number; obligatorio)\n\n[]time ejemplo: 1767225600\n\n[]time.Tipo: number\n\n[]time.Comienzo de la vela, marca de tiempo unix en segundos.\n\n- []buy (object; obligatorio)\n\n[]buy ejemplo: {\n  \"totalCount\": 12,\n  \"events\": [\n    {\n      \"asset\": \"BTC\",\n      \"direction\": \"long\",\n      \"eventName\": \"open\",\n      \"executedAt\": 1767225599,\n      \"price\": \"1000000000\",\n      \"size\": \"1000000000\"\n    }\n  ]\n}\n\n[]buy.Tipo: object\n\n[]buy.Campos obligatorios: totalCount, events\n\n[]buy.Tipos de campos obligatorios: totalCount (number; obligatorio), events (object[]; obligatorio)\n\n[]buy.Lado de compra: aumentos de posiciones largas y disminuciones, cierres y liquidaciones de posiciones cortas.\n\n- []buy.totalCount (number; obligatorio)\n\n[]buy.totalCount ejemplo: 12\n\n[]buy.totalCount.Tipo: number\n\n[]buy.totalCount.Número de todos los eventos de este lado en la vela.\n\n- []buy.events (object[]; obligatorio)\n\n[]buy.events ejemplo: [\n  {\n    \"asset\": \"BTC\",\n    \"direction\": \"long\",\n    \"eventName\": \"open\",\n    \"executedAt\": 1767225599,\n    \"price\": \"1000000000\",\n    \"size\": \"1000000000\"\n  }\n]\n\n[]buy.events.Tipo: object[]\n\n[]buy.events.Hasta los 5 eventos más recientes de este lado en la vela, los más recientes primero.\n\n[]buy.events.[]Tipo: object\n\n[]buy.events.[]Campos obligatorios: asset, direction, eventName, executedAt, price, size\n\n[]buy.events.[]Tipos de campos obligatorios: asset (string; obligatorio), direction (string · enum; obligatorio), eventName (string · enum; obligatorio), executedAt (number; obligatorio), price (string · int32; obligatorio), size (string · int32; obligatorio)\n\n- []buy.events.[]asset (string; obligatorio)\n\n[]buy.events.[]asset ejemplo: BTC\n\n[]buy.events.[]asset.Tipo: string\n\n[]buy.events.[]asset.Ticker del activo base del mercado en el que ocurrió el evento.\n\n- []buy.events.[]direction (string · enum; obligatorio)\n\n[]buy.events.[]direction ejemplo: long\n\n[]buy.events.[]direction.Tipo: string · enum\n\n[]buy.events.[]direction.Dirección de la posición a la que pertenece el evento.\n\n[]buy.events.[]direction.Valores permitidos: [\"long\",\"short\"]\n\n- []buy.events.[]eventName (string · enum; obligatorio)\n\n[]buy.events.[]eventName ejemplo: open\n\n[]buy.events.[]eventName.Tipo: string · enum\n\n[]buy.events.[]eventName.Qué representa el marcador: `open` para el primer aumento de una posición, `increase` para los posteriores, `decrease` para un cierre parcial, `close` para un cierre total y `liquidation` para una liquidación.\n\n[]buy.events.[]eventName.Valores permitidos: [\"open\",\"increase\",\"decrease\",\"close\",\"liquidation\"]\n\n- []buy.events.[]executedAt (number; obligatorio)\n\n[]buy.events.[]executedAt ejemplo: 1767225599\n\n[]buy.events.[]executedAt.Tipo: number\n\n[]buy.events.[]executedAt.Cuándo ocurrió el evento, marca de tiempo unix en segundos.\n\n- []buy.events.[]price (string · int32; obligatorio)\n\n[]buy.events.[]price ejemplo: 1000000000\n\n[]buy.events.[]price.Tipo: string · int32\n\n[]buy.events.[]price.Precio al que se ejecutó el evento, fp9 en bruto — cotización intercambiada sobre base intercambiada.\n\n[]buy.events.[]price.format: int32\n\n[]buy.events.[]price.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []buy.events.[]size (string · int32; obligatorio)\n\n[]buy.events.[]size ejemplo: 1000000000\n\n[]buy.events.[]size.Tipo: string · int32\n\n[]buy.events.[]size.Tamaño absoluto que movió el evento, en unidades del activo base, fp9 en bruto.\n\n[]buy.events.[]size.format: int32\n\n[]buy.events.[]size.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []sell (object; obligatorio)\n\n[]sell ejemplo: {\n  \"totalCount\": 12,\n  \"events\": [\n    {\n      \"asset\": \"BTC\",\n      \"direction\": \"long\",\n      \"eventName\": \"open\",\n      \"executedAt\": 1767225599,\n      \"price\": \"1000000000\",\n      \"size\": \"1000000000\"\n    }\n  ]\n}\n\n[]sell.Tipo: object\n\n[]sell.Campos obligatorios: totalCount, events\n\n[]sell.Tipos de campos obligatorios: totalCount (number; obligatorio), events (object[]; obligatorio)\n\n[]sell.Lado de venta: aumentos de posiciones cortas y disminuciones, cierres y liquidaciones de posiciones largas.\n\n- []sell.totalCount (number; obligatorio)\n\n[]sell.totalCount ejemplo: 12\n\n[]sell.totalCount.Tipo: number\n\n[]sell.totalCount.Número de todos los eventos de este lado en la vela.\n\n- []sell.events (object[]; obligatorio)\n\n[]sell.events ejemplo: [\n  {\n    \"asset\": \"BTC\",\n    \"direction\": \"long\",\n    \"eventName\": \"open\",\n    \"executedAt\": 1767225599,\n    \"price\": \"1000000000\",\n    \"size\": \"1000000000\"\n  }\n]\n\n[]sell.events.Tipo: object[]\n\n[]sell.events.Hasta los 5 eventos más recientes de este lado en la vela, los más recientes primero.\n\n[]sell.events.[]Tipo: object\n\n[]sell.events.[]Campos obligatorios: asset, direction, eventName, executedAt, price, size\n\n[]sell.events.[]Tipos de campos obligatorios: asset (string; obligatorio), direction (string · enum; obligatorio), eventName (string · enum; obligatorio), executedAt (number; obligatorio), price (string · int32; obligatorio), size (string · int32; obligatorio)\n\n- []sell.events.[]asset (string; obligatorio)\n\n[]sell.events.[]asset ejemplo: BTC\n\n[]sell.events.[]asset.Tipo: string\n\n[]sell.events.[]asset.Ticker del activo base del mercado en el que ocurrió el evento.\n\n- []sell.events.[]direction (string · enum; obligatorio)\n\n[]sell.events.[]direction ejemplo: long\n\n[]sell.events.[]direction.Tipo: string · enum\n\n[]sell.events.[]direction.Dirección de la posición a la que pertenece el evento.\n\n[]sell.events.[]direction.Valores permitidos: [\"long\",\"short\"]\n\n- []sell.events.[]eventName (string · enum; obligatorio)\n\n[]sell.events.[]eventName ejemplo: open\n\n[]sell.events.[]eventName.Tipo: string · enum\n\n[]sell.events.[]eventName.Qué representa el marcador: `open` para el primer aumento de una posición, `increase` para los posteriores, `decrease` para un cierre parcial, `close` para un cierre total y `liquidation` para una liquidación.\n\n[]sell.events.[]eventName.Valores permitidos: [\"open\",\"increase\",\"decrease\",\"close\",\"liquidation\"]\n\n- []sell.events.[]executedAt (number; obligatorio)\n\n[]sell.events.[]executedAt ejemplo: 1767225599\n\n[]sell.events.[]executedAt.Tipo: number\n\n[]sell.events.[]executedAt.Cuándo ocurrió el evento, marca de tiempo unix en segundos.\n\n- []sell.events.[]price (string · int32; obligatorio)\n\n[]sell.events.[]price ejemplo: 1000000000\n\n[]sell.events.[]price.Tipo: string · int32\n\n[]sell.events.[]price.Precio al que se ejecutó el evento, fp9 en bruto — cotización intercambiada sobre base intercambiada.\n\n[]sell.events.[]price.format: int32\n\n[]sell.events.[]price.pattern: ^(?:-?[1-9][0-9]*|0)$\n\n- []sell.events.[]size (string · int32; obligatorio)\n\n[]sell.events.[]size ejemplo: 1000000000\n\n[]sell.events.[]size.Tipo: string · int32\n\n[]sell.events.[]size.Tamaño absoluto que movió el evento, en unidades del activo base, fp9 en bruto.\n\n[]sell.events.[]size.format: int32\n\n[]sell.events.[]size.pattern: ^(?:-?[1-9][0-9]*|0)$\n\nEjemplo\n\n\n\n```json\n[\n  {\n    \"time\": 1767225600,\n    \"buy\": {\n      \"totalCount\": 12,\n      \"events\": [\n        {\n          \"asset\": \"BTC\",\n          \"direction\": \"long\",\n          \"eventName\": \"open\",\n          \"executedAt\": 1767225599,\n          \"price\": \"1000000000\",\n          \"size\": \"1000000000\"\n        }\n      ]\n    },\n    \"sell\": {\n      \"totalCount\": 12,\n      \"events\": [\n        {\n          \"asset\": \"BTC\",\n          \"direction\": \"long\",\n          \"eventName\": \"open\",\n          \"executedAt\": 1767225599,\n          \"price\": \"1000000000\",\n          \"size\": \"1000000000\"\n        }\n      ]\n    }\n  }\n]\n```","text":"Obtener eventos de posición para indicadores del gráfico agrupados por velas Eventos de posición de la cuenta en un mercado agrupados por velas de la resolución solicitada, la vela más antigua primero. - Las velas se alinean de la misma manera en que lo hace el datafeed: una vela comienza en un múltiplo de la resolución desde la época unix, una diaria a medianoche UTC. - Una vela se incluye cuando su inicio se encuentra dentro de `[from, to]`; la distancia entre `from` y `to` no puede exceder 350 velas. - Las velas sin eventos se omiten. - Cada vela tiene un lado `buy` (aumentos de largos, disminuciones de cortos, cierres y liquidaciones) y un lado `sell` (aumentos de cortos, disminuciones de largos, cierres y liquidaciones). Un lado contiene hasta 5 eventos más recientes, primero los más nuevos, y el número de todos sus eventos en la vela. - Solo se cuentan los aumentos, cierres, cierres forzosos y liquidaciones; los cambios de financiación y margen no son eventos del gráfico. - Limitado a la fase en la que se encuentra actualmente la cuenta. GET /positions/{accountId}/{asset}/chart-events/buckets Trading accountId Identificador de la cuenta del trader. Debe pertenecer al solicitante. string · uuid asset Ticker del activo base del mercado, tal como lo devuelve `GET /v2/markets`. string resolution Resolución de velas para agrupar eventos, mismos valores que el endpoint `/history` del datafeed. string · enum from Comienzo de la primera vela, marca de tiempo unix en segundos (inclusive). integer to Comienzo de la última vela, marca de tiempo unix en segundos (inclusive). integer 401 No autorizado 403 La cuenta pertenece a otro usuario (`account_access_denied`), o la solicitud se autentica con una clave de API mientras `api_trading` está deshabilitado en la cuenta (`api_trading_not_enabled`). 404 No hay ninguna cuenta con este identificador, o no hay ningún mercado para este ticker. 429 Se superó el límite de velocidad de la clave de API (`api_key_rate_limit_exceeded`). `Retry-After` indica cuándo volver; el cuerpo incluye el bucket (`read` / `write`), la ventana que se activó, su límite y `retryAt`. default Respuesta","api":{"title":"API pública de Upscale","version":"d796ac9","documentation":"https://docs.upscale.trade/es/developers","playgroundServer":"https://api.upscale.trade"}}