Documentación
¿Qué quieres hacer?
Bot Market Maker
Market Maker es un bot de cotización continua. En vez de una grilla fija, mantiene órdenes post-only de compra y venta alrededor del precio actual. Cuando un lado se ejecuta, actualiza inventario, protege el lado de salida y vuelve a cotizar según spread, cap y reglas de riesgo.
Qué intenta conseguir el bot
Busca capturar la diferencia entre compras y ventas manteniendo el inventario bajo control. Si BTC cotiza cerca de $100,000 y la distancia configurada es 34 bps, puede colocar compras algo por debajo y ventas algo por encima. Si una compra se llena, queda long y prioriza vender ese inventario a un precio reductor/profitable mientras decide si puede colocar más compras con seguridad.
Puede perder en tendencias fuertes, baja liquidez, flow tóxico, liquidaciones, caídas del exchange o retrasos de API. Empieza pequeño, usa bajo leverage y mercados líquidos. Spread más amplio = menos fills pero más margen; spread más estrecho = más fills y más riesgo.
La idea matemática básica
El bot intenta que cada ciclo cerrado tenga una salida mejor que la entrada, después de comisiones. Para una compra que luego se vende:
Ganancia bruta ≈ (precio_venta - precio_compra) × cantidad_baseCoste de fees ≈ notional_compra × fee_maker + notional_venta × fee_makerGanancia neta ≈ ganancia_bruta - fees
Ejemplo ilustrativo, no una tarifa de exchange: compra 100 LIT a 1.5000 y vende 100 LIT a 1.5030. La ganancia bruta es (1.5030 - 1.5000) × 100 = 0.30 USDC. Suponiendo una comisión maker total de exchange + MyLiquidBot del 0.02% por lado, las comisiones serían aproximadamente 150.00 × 0.0002 + 150.30 × 0.0002 ≈ 0.0601 USDC. La ganancia neta sería aproximadamente 0.30 - 0.0601 = 0.2399 USDC, antes de funding y otros costes. Sustituye la tarifa supuesta por tu comisión total real.
Por eso el spread configurado no es ganancia limpia. Debe cubrir maker fee de entrada, maker fee de salida, posibles fills parciales, slippage si se cierra a mercado y movimientos rápidos entre entrada y salida.
Comportamiento general
Lee mercado e inventario
En cada ciclo lee snapshot de mercado, órdenes abiertas y posición del bot. Si el exchange y la base de datos no cuadran, puede bloquear nuevas colocaciones hasta reconciliar.
Cotiza ambos lados cuando está flat
Sin inventario relevante puede colocar bids (compras) y asks (ventas). Normalmente son limit post-only para intentar operar como maker.
Se ajusta cuando aparece inventario
Si queda long, asks reducen riesgo y bids aumentan riesgo. Si queda short, bids reducen riesgo y asks aumentan riesgo. El lado que aumenta riesgo puede hacerse más pequeño, más lejano, más lento o bloquearse según el uso del cap.
Protege salidas
Las órdenes reductoras intentan cerrar inventario con profit floor o target por tramo. El motor trackea fills y recovery lots para emparejar entradas con salidas reduce-only adecuadas.
Refresca órdenes obsoletas
Si el mercado se mueve, cancela/reemplaza cotizaciones demasiado lejos, demasiado cerca, por debajo del mínimo del exchange u obsoletas.
Paso a paso: crear un Market Maker
Selecciona exchange, nombre y par
Elige la conexión de un exchange compatible, pon un nombre claro y selecciona un mercado líquido.
Usa leverage bajo
Empieza con 1× o 2×. El bot puede acumular inventario en ambos lados y más leverage aumenta riesgo de liquidación.
Elige perfil de riesgo
Conservative es más lento y defensivo. Balanced es el default normal. Aggressive cotiza más rápido y permite más exposición.
Define tamaño y caps en USDC
Order size per buy/sell es el notional de cada orden individual, no inversión total. Max bot position value, Max short position y Max long position son límites de exposición.
Define distancia y refresh
Buy/Sell distance y Minimum allowed distance controlan el spread. Refresh period controla cada cuánto revisa y rearma.
Revisa preview y empieza pequeño
Confirma precios bid/ask estimados, valor por orden, position guard y notional mínimo antes de crear.
Referencia de configuraciones
| Campo | Qué significa | Efecto práctico |
|---|---|---|
| Order size per buy/sell (USDC) | Notional aproximado de cada orden. | Más tamaño gana/pierde más por fill y llega antes al cap. |
| Max bot position value (USDC) | Límite de exposición si no usas caps separados. | El bot se vuelve defensivo al acercarse. |
| Max short / Max long position | Caps separados para short y long. | Permite distinto riesgo para pumps vs dumps. |
| Buy/Sell distance | Spread objetivo en bps. 34 bps = 0.34%. | Más amplio = menos fills y más margen. Más estrecho = más fills y más riesgo. |
| Minimum allowed distance | Spread mínimo tras ajustes automáticos. | Evita cotizar demasiado cerca para cubrir fees. |
| Refresh period | Cada cuánto puede refrescar el motor. | Más corto reacciona antes; más largo reduce churn. |
| Risk profile | Preset de spread, caps, velocidad, niveles y riesgo. | Conservative protege más; Aggressive opera más activo. |
| Reference price | Precio usado para preview y conversión de caps. | Auto/live es preferible; manual es fallback. |
| Cap stop mode | Qué hacer si el inventario supera la zona de stop. | Default: pausar nuevas entradas; modos fuertes pueden reducir o cerrar exposición. |
Límites de posición y entradas detenidas
El límite introducido en dólares se convierte a una cantidad de moneda usando el precio de referencia al configurar el bot; esa cantidad no crece automáticamente si el precio baja. Revisa el límite de moneda mostrado, también para los límites long/short separados. Llegar al máximo puede bloquear nuevas entradas sin cancelar las salidas ni cerrar la posición. Si el límite de moneda no coincide con el importe que querías asignar, revisa los campos disponibles en Editar y consulta soporte; no aumentes el riesgo ni canceles salidas para forzar actividad.
Breakeven, precio medio y entradas adicionales
El bot trackea promedio del exchange y breakeven efectivo para diagnóstico y salidas. El comportamiento actual puede permitir compras o ventas que aumentan riesgo aunque no mejoren el promedio/breakeven, siempre que las protecciones estructurales lo permitan. Es simétrico: compras long y ventas short pueden comportarse igual.
Límites de exposición, paradas de seguridad, cooldowns, mínimos del exchange, checks de frescura de precio y reconciliación con el exchange pueden seguir bloqueando, reduciendo o cancelando órdenes.
Por qué puedes ver un cierre negativo en el DEX aunque el bot cerró trades positivos
Un Market Maker puede mostrar muchos ciclos positivos y aun así tener la cuenta o el cierre final en negativo. La razón normalmente es el inventario no realizado: el bot puede ir ganando pequeñas diferencias de spread, pero acumular una posición long o short que se mueve en contra.
| Concepto | Qué mira | Ejemplo |
|---|---|---|
| Ciclo cerrado positivo | Una entrada y su salida emparejada. | Compra 1.5000, vende 1.5030: positivo después de fees. |
| PnL no realizado | Inventario que sigue abierto. | Quedan 100 LIT comprados a 1.5000 y el mark baja a 1.4500: hay -5 USDC no realizados. |
| Cierre negativo en el DEX | El exchange calcula la posición total que se está cerrando. | Si cierras a mercado el inventario acumulado por debajo del promedio, el DEX puede mostrar pérdida aunque varios lotes anteriores hayan ganado spread. |
Ejemplo completo: el bot gana 20 ciclos de +0.05 USDC cada uno, total +1.00 USDC. Pero durante la bajada queda long con 200 USDC de exposición y el precio cae 2%. Ese inventario tiene aproximadamente -4.00 USDC no realizados. Resultado aproximado: +1.00 - 4.00 = -3.00 USDC. El usuario puede pensar que “todos los trades ganaron”, pero la cuenta general está negativa por la posición abierta.
Para evaluar un Market Maker mira siempre tres cosas juntas: realized PnL, unrealized PnL/inventario abierto y exposición long/short actual. Si solo miras las operaciones cerradas, puedes ignorar el riesgo que todavía queda abierto en el DEX.
Cómo leer las estadísticas del Market Maker
El detalle de Market Maker separa calidad de estrategia de resultado total actual del bot. Esto es intencional: un bot puede capturar spread en muchos lotes cerrados y aun así estar negativo si el inventario que queda abierto se movió en contra. Lee las tarjetas en este orden:
Profit total estimado = PnL realizado contable + PnL de inventario - comisiones estimadas. Es la mejor estimación del panel sobre cuánto vale el bot ahora si lo paras y cierras el inventario actual cerca del mark mostrado. Sigue siendo una estimación, no una reconciliación exacta de equity del exchange, porque el slippage final, fees reales, funding, depósitos/retiros y trades manuales pueden cambiar el resultado real de la cuenta.
| Stat | Qué significa | Por qué aparece | Cómo usarlo |
|---|---|---|---|
| Current bot position | Inventario actual atribuido al bot. Positivo = long, negativo = short y cerca de cero = flat. Avg entry es la entrada media del inventario que sigue abierto. | El riesgo principal del Market Maker viene del inventario. Antes de juzgar profit necesitas saber si el bot todavía tiene exposición. | Si la posición es grande frente al cap, el bot puede estar defensivo aunque los ciclos cerrados se vean bien. |
| Grid Profit | Suma del profit realizado por todos los cierres ejecutados por el Market Maker. Cada cierre aporta su resultado contra la entrada del inventario que reduce. | Mide el profit realizado por la actividad de farming de spread del bot. | Es independiente del accounting y no descuenta sus fees. Las fees y el PnL contable se muestran por separado. |
| Inventory PnL | PnL mark-to-market del inventario que sigue abierto ahora mismo. Inventario long gana si el mark está por encima del avg entry; inventario short gana si el mark está por debajo. | Muestra el riesgo que todavía no se realizó. Este número puede convertir un buen Grid Profit en un resultado total negativo. | Si paras o cierras el bot, esta parte abierta pasa a realizarse, con posible slippage y fees finales. |
| Total Profit Estimated / Profit total estimado | Estimación total actual principal: PnL realizado contable + PnL de inventario actual - fees estimadas. | Responde la pregunta del usuario: “aproximadamente cuánto va ganando o perdiendo este bot si lo paro y cierro ahora”. Incluye reducciones o cortes ya realizados en pérdida, que ya no aparecen dentro del Inventory PnL abierto. | Úsalo como total actual principal. Trátalo como estimado, no como equity final/exacto del exchange. |
| Closed cycles | Número de ciclos/lotes emparejados completados. W/L muestra ganadores y perdedores; matched % muestra cuánto historial de cierres pudo emparejarse limpiamente con una entrada. | El profit es más confiable cuando hay suficientes ciclos y buena cobertura de matching. | Si el matched % es bajo, lee Grid Profit con más cautela y revisa el ledger/historial de fills. |
| Closed volume | Volumen notional total de los ciclos cerrados usados para el profit de ciclos. Net cycle return es profit neto de ciclos dividido por volumen cerrado. | Normaliza el profit por tamaño operado. Ganar $10 no significa lo mismo sobre $500 de volumen que sobre $50,000. | Úsalo para comparar eficiencia entre bots o mercados. |
| Since last sync | Replay contable/de ciclos desde el último sync o baseline de inventario. Puede ser menor que el historial completo después de un resync. | El sync reconstruye inventario/estado contable actual sin borrar el historial anterior de lotes cerrados. | Si esto sale pequeño tras un sync reciente, revisa Grid Profit/lotes cerrados históricos antes de asumir que desapareció el historial. |
| Fills processed | Cantidad de fills que el bot procesó, más volumen total de fills. Incluye entradas, salidas, parciales y actividad que puede seguir abierta. | Es una señal de actividad/cobertura, no un número de profit. | Muchos fills con poco profit puede indicar spread demasiado estrecho, fees, churn o inventario arrastrando el resultado. |
| Accounting realized PnL | PnL cerrado reconstruido por contabilidad de promedio de posición usando la totalidad de los fills. | Es una métrica contable independiente de Grid Profit, aunque ambos observen los mismos cierres desde contratos distintos. | No lo uses para sustituir Grid Profit; sirve para reconciliación contable. |
Grid Profit te dice si el bot captura spread. Profit total estimado te dice el total actual estimado del bot si paras/cierras ahora. Un bot sano idealmente debe tener Grid Profit positivo/consistente, Inventory PnL controlado y un Profit total estimado que no esté destruido por exposición abierta o pérdidas ya realizadas.
Lógica de profit y detalle del ledger de fills
El bloque inferior de lógica de profit y el ledger de órdenes ejecutadas explican de dónde salen los números principales. Son herramientas de diagnóstico para entender por qué el bot está verde o rojo, no “profit extra” que debas sumar otra vez.
| Detalle | Significado | Por qué importa |
|---|---|---|
| Real breakeven price | Precio estimado donde el inventario abierto quedaría en cero contando el profit ya realizado. | Ayuda a decidir si el inventario restante puede cerrarse sin devolver el profit previo. La dirección importa: long necesita precio por encima del breakeven; short necesita precio por debajo. |
| Avg captured spread | Edge bruto y neto promedio capturado por lote cerrado, mostrado en bps. 100 bps = 1%. | Muestra si el spread configurado alcanza después de fees. Si el net bps es bajo o negativo, el bot puede estar haciendo churn. |
| Gross vs net profit | Profit bruto de lotes emparejados menos fees estimadas. | Las fees pueden reducir mucho un spread aparentemente bueno. Para rendimiento, mira siempre neto. |
| Avg entry: venue vs book | Compara el promedio del exchange/baseline con el promedio interno del bot. Drift significa diferencia entre ambos. | Un drift pequeño puede ser redondeo; uno grande puede indicar exposición manual, fills faltantes, cambios de sync del exchange o problemas de baseline contable. |
| Trade PnL (lot) | PnL de un lote cerrado específico contra su propia entrada. | Es la vista más cercana a “compró más bajo, vendió más alto” para ese lote. |
| Acct. PnL (avg) | PnL del mismo cierre contra el promedio global de posición. | Puede salir negativo aunque el lot PnL sea positivo. Es normal cuando el bot acumuló inventario a distintos precios. |
| Position after | Inventario que queda después de ese fill. | Explica si el fill redujo riesgo o dejó exposición abierta. |
En resumen: Profit total estimado es la estimación familiar del total actual, Grid Profit es la nota de la estrategia por ciclos cerrados, e Inventory PnL es el riesgo abierto que todavía puede cambiar antes de cerrar completamente el bot.
Cómo leer el estado del bot
| Estado | Significado |
|---|---|
| Flat | Sin inventario significativo; normalmente cotiza bids y asks. |
| Long inventory | Tiene base asset. Asks reducen riesgo; bids aumentan riesgo. |
| Short inventory | Está short del base asset. Bids reducen riesgo; asks aumentan riesgo. |
| Position guard green/yellow/red | Uso del cap. Amarillo/rojo = comportamiento más defensivo. |
| Paused | Cancela órdenes y deja de colocar nuevas, pero el inventario puede seguir abierto. |
| Close position | Cancela órdenes y envía cierre market reduce-only del inventario del bot. |
Cómo reparar un Market Maker
Si el bot y el exchange muestran posiciones u órdenes diferentes, abre el detalle del Market Maker y pulsa Repair. El panel indica qué necesita atención y recomienda una acción. Repair restablece la gestión normal del bot; no cambia la estrategia ni recupera pérdidas de trading.
Úsalo si una orden del exchange no aparece reflejada en el bot, una orden completada o cancelada sigue activa, la posición mostrada no coincide con el exchange, falta o es incorrecta una orden de protección ReduceOnly, o Resume sigue bloqueado después de cambios en las órdenes. Un PnL negativo, margen insuficiente, tamaño mínimo o una orden que no se ha llenado no son por sí solos problemas de reparación.
| Opción | Qué hace | Cuándo usarla |
|---|---|---|
| Repair All | Aplica todas las correcciones recomendadas en un solo paso. | Úsala cuando el panel detecta más de un problema. |
| Reconciliar órdenes | Alinea las órdenes abiertas del bot con las del exchange. | Úsala cuando ambas listas de órdenes no coinciden. |
| Asentar órdenes | Actualiza órdenes que ya se llenaron, cancelaron o completaron. | Úsala cuando una orden antigua todavía aparece activa en el bot. |
| Sincronizar posición | Alinea la posición mostrada por el bot con la posición del exchange. | Úsala solo después de confirmar que la posición del exchange pertenece a este bot. |
| Reparar ReduceOnly | Restablece o ajusta las órdenes ReduceOnly de protección de la posición actual. | Úsala cuando la posición no tiene la protección de salida esperada. |
Comprueba el exchange
Confirma la posición real y las órdenes abiertas, especialmente si también operas el mismo símbolo manualmente o con otro bot.
Abre Repair
Revisa la comparación y la acción recomendada antes de continuar.
Elige la opción recomendada
Usa una opción para un problema concreto o Repair All si el panel encuentra varios problemas.
Verifica el resultado
Recarga el bot y el exchange. Si todavía no coinciden, no repitas la acción: contacta con soporte.
Revisa la recomendación antes de confirmar. Repair no cierra la posición a mercado, pausa el bot, cambia la estrategia ni garantiza una salida rentable. Verifica siempre el exchange después.