Última actualización: 11 de diciembre de 2024
Aviso legal: De conformidad con los requisitos del reglamento MiCA, las stablecoins no autorizadas están sujetas a determinadas restricciones para usuarios del EEE. Para obtener más información, haz clic aquí.
El grid trading es un bot de trading que automatiza la compra y venta de contratos de futuros. Está diseñado para generar órdenes en el mercado a intervalos preestablecidos dentro de un rango de precios configurado.
El grid trading consiste en generar órdenes por encima y por debajo de un precio establecido, lo que crea un grid de órdenes a precios crecientes y decrecientes. De esta forma, se construye el grid de trading. Por ejemplo, un trader podría generar órdenes de compra de BTC cada 1,000 USDT por debajo del precio de mercado y generar órdenes de venta cada 1,000 USDT por encima del precio de mercado para aprovechar las condiciones variables.
El grid trading es ideal para los mercados volátiles y laterales cuando los precios fluctúan en un rango determinado. Esta técnica intenta obtener beneficios de los pequeños cambios en el precio. Cuantos más grids se creen, mayor será la frecuencia de los trades. Sin embargo, conlleva un costo: la ganancia que obtengas de cada orden será menor.
Por lo tanto, con esta estrategia estás eligiendo obtener pequeños beneficios por muchos trades en lugar de optar por una estrategia con menor frecuencia, pero que genere una ganancia por orden más alta.
El grid trading de Binance ya está en funcionamiento para los futuros USDⓈ-M y COIN-M. Puedes personalizar y establecer los límites máximo y mínimo del grid y la cantidad de grids. Una vez que se haya creado el grid, el sistema comprará y venderá órdenes de manera automática a los precios preestablecidos.
Veamos cómo funciona.
Supongamos que piensas que, en las siguientes 24 horas, el Bitcoin va a oscilar en un rango entre 50,000 USDT y 60,000 USDT. En este caso, podrías configurar un sistema de grid trading para operar dentro de este rango previsto.
En el panel de grid trading, puedes establecer parámetros del bot, que incluyen:
En este escenario, a medida que el precio del BTC cae hacia los 55,000 USDT, el bot de grid trading irá acumulando posiciones de compra a un precio inferior al del mercado. Cuando el precio se recupere, el bot venderá al alza a un precio superior al del mercado. En esencia, esta estrategia intenta generar ganancias con los cambios de precio.
Si deseas conocer más detalles, lee ¿Qué es el Grid Trading en long o short?
Advertencia de riesgo: El grid es una herramienta estratégica de trading y no debe considerarse como un asesoramiento financiero por parte de Binance. El uso que hagas del grid trading queda a tu criterio y bajo tu propio riesgo. Binance no se hace responsable de pérdidas que puedan surgir al utilizar esta función. Es recomendable que los usuarios lean y entiendan plenamente el tutorial de grid trading, que establezcan estrategias de control del riesgo y practiquen el trading racional dentro de su capacidad financiera.
1. Inicia sesión en tu cuenta de Binance e ingresa a [Futuros]. Haz clic en [Bots de trading] - [Grid de futuros].
Si estás usando la aplicación Binance, ve a [Futuros] - [USDⓈ-M] o [COIN-M]. Toca [Grid] en la parte inferior izquierda.
2. Selecciona un símbolo para ejecutar la estrategia y establece los parámetros del grid. Selecciona la dirección del grid (long, short o neutro), el rango, la cantidad de gris y el tamaño de la orden. Luego, selecciona [Crear] para confirmar.
Ten en cuenta que las siguientes condiciones pueden impedir que se cree un nuevo grid correctamente:
Utilicemos el contrato perpetuo de Futuros USDⓈ-M de BTCUSDT como ejemplo para entender el proceso de grid trading.
Para los parámetros 10 y 11:
Puedes generar tus órdenes limit del grid de inmediato o activarlas cuando el precio de mercado alcance un valor determinado. Las órdenes del grid se activarán cuando el precio de mercado (último precio o precio de marca) esté por encima o por debajo del precio de activación que hayas ingresado.
Para los parámetros 1, 2, 3, 4 y 6:
Puedes determinar una serie de niveles de precio de acuerdo con el último precio de mercado (compra, venta, precio medio) y generar órdenes limit de venta a un precio más alto que el precio de mercado, y una orden limit de compra a un precio más bajo que el precio de mercado. Después de eso, puedes esperar a que las órdenes limit se activen y ejecuten.
En cuanto a los grids en dirección neutra, la estrategia no incluye una posición inicial. La posición inicial se establece solo cuando el mercado supera el punto de precio más cercano después de la configuración inicial.
Ejemplo:
Supongamos que estableciste los parámetros de tu estrategia como:
La distribución de los precios será la siguiente: 20,000 USDT, 25,000 USDT, 30,000 USDT, 35,000 USDT, 40,000 USDT, 45,000 USDT
Las órdenes de venta iniciales para el grid neutro se generarán por encima del precio de mercado actual. En cambio, las órdenes de compra se completarán por debajo del precio de mercado actual. Ten en cuenta que el precio más cercano al precio de mercado quedaría excluido. En este escenario, las órdenes limit iniciales del grid se completarán de la siguiente manera:
Dirección | Precio |
Venta | 45,000 USDT |
Venta | 40,000 USDT |
Compra | 30,000 USDT |
Compra | 25,000 USDT |
Compra | 20,000 USDT |
La actualización del grid se refiere a que, cada vez que se toca un punto de precio, es decir, se completa una orden limit, la orden limit del grid se actualizará al momento. El precio de la orden que se ejecutó más recientemente siempre será el que esté desactivado, lo que significa que no activará ninguna orden. Luego, las órdenes limit de compra y venta se completan de nuevo según los parámetros ya establecidos para seguir manteniendo el número de órdenes limit en el grid.
Por ejemplo, el precio de mercado inicial es 10,010 USDT y el precio límite del grid en cada unidad es el siguiente:
Precio | Dirección |
10,200 USDT | Venta |
10,100 USDT | Venta |
10,000 USDT | Compra |
9,900 USDT | Compra |
9,800 USDT | Compra |
Suponiendo que el precio baje a 10,000 USDT y se ejecute la orden de compra (la posición abierta inicial), las órdenes limit del grid pasarán a ser así:
Precio | Dirección |
10,200 USDT | Venta |
10,100 USDT | Venta |
10,000 USDT | - |
9,900 USDT | Compra |
9,800 USDT | Compra |
Supongamos que el precio luego aumenta a 10,100 USDT, lo que activaría la ejecución de la orden de venta de 10,100 USDT. De ser así, las órdenes limit del grid se actualizarán de la siguiente manera:
Precio | Dirección |
10,200 USDT | Venta |
10,100 USDT | - |
10,000 USDT | Compra |
9,900 USDT | Compra |
9,800 USDT | Compra |
Si después de eso el precio cae a 9,900 USDT, se ejecutan entonces las dos órdenes de compra (de 10,000 USDT y 9,900 USDT) y las órdenes limit del grid se actualizarán posteriormente de esta manera:
Precio | Dirección |
10,200 USDT | Venta |
10,100 USDT | Venta |
10,000 USDT | Venta |
9,900 USDT | - |
9,800 USDT | Compra |
Y así sucesivamente.
Para el parámetro 12:
Puedes finalizar manualmente la operación de grid o establecer un activador Stop. Hay tres opciones para configurar los activadores de Stop:
También puedes establecer si quieres mantener la posición abierta cuando el take-profit y el stop-loss del grid activen la finalización. Esta configuración es independiente de otras situaciones de finalización, como la finalización por margen insuficiente.
Para el parámetro n.º 13:
Habilita [Abrir una posición con la creación] para abrir una posición automáticamente al precio de mercado cuando se cree el grid. Si no se habilita, el sistema no abrirá una posición después de la creación del grid. Esta funcionalidad es solo para los grids sin Trailing.
Ten en cuenta que, mientras el grid esté en funcionamiento, los siguientes escenarios provocarán la finalización del grid:
El sistema te notificará si un grid se encuentra actualmente en funcionamiento. Por ejemplo, el apalancamiento recomendado para el grid trading es inferior a 20x. Si el apalancamiento sigue siendo superior a 20x, verás un segundo recordatorio para bajarlo.
Selecciona el contrato en el que se usará el bot de trading.
Primero ajusta el apalancamiento. Ten en cuenta que el apalancamiento aumenta tanto las probabilidades de ganancias como de pérdidas. Con él, podrás aumentar los movimientos de precio relativamente pequeños para generar ganancias. Sin embargo, el apalancamiento es un arma de doble filo; úsalo con prudencia.
* No se puede modificar después de generar la orden del grid.
Establece los precios mínimo y máximo del grid. Si se superan estos precios, no se abrirán más posiciones. Por ejemplo, si el precio actual del futuro perpetuo BTCUSDT es 48,000 USDT y crees que el precio caerá cuando supere los 49,000 USDT, puedes establecer el precio máximo en 49,000 USDT. Una vez que el precio alcance los 49,000 USDT, el grid dejará de abrir posiciones.
* No se puede modificar después de generar la orden del grid.
Aritmético: cada grid tendrá una diferencia de precios equitativa.
El grid aritmético divide el rango de precios de grid_lower_limit a grid_upper_limit entre grid_count por una diferencia de precios igual.
El diferencial de precios entre cada grid es:
price_diff = (grid_upper_limit - grid_lower_limit) / grid_count
Luego se construye una serie de intervalos entre precios:
price_1 = grid_lower_limit
price_2 = grid_lower_limit + price_diff
price_3 = grid_lower_limit + price_diff * 2
...
price_n = grid_lower_limit + price_diff * (n-1)
En grid_upper_limit, n = grid_count
Ejemplo: price_diff aritmético = 100: 1,000, 1,100, 1,200, 1,300, 1,400,... (el siguiente precio es 100 más alto que el anterior)
Geométrico: cada grid tendrá una proporción diferencial de precio equitativa.
El grid geométrico divide el rango de precios de grid_lower_limit a grid_upper_limit entre el grid_count por un ratio de precios igual.
El precio promedio en cada grid sería de:
price_ratio = (grid_upper_limit / grid_lower_limit) ^ (1/grid_count)
El diferencial de precios entre cada grid es:
price_diff_percentage = ( (grid_upper_limit / grid_lower_limit) ^ (1/grid_count) - 1) * 100%
Luego se construye una serie de intervalos entre precios:
price_1 = grid_lower_limit
price_2 = grid_lower_limit * price_ratio
price_3 = grid_lower_limit * price_ratio ^ 2
...
price_n = grid_lower_limit * price_ratio ^ (n-1)
En grid_upper_limit, n = grid_count
Ejemplo: price_diff_percentage geométrico = 10%: 1,000, 1,100, 1,210, 1,331, 1,464.1... (el siguiente precio es un 10% más alto que el anterior)
* No se puede modificar después de generar la orden del grid.
Nota: La diferencia de precios no puede ser menor al tamaño de tick, de lo contrario, se requerirá un ajuste en el Grid_count o en el límite mínimo/máximo del grid.
¿Cómo se calcula?
1) Grid aritmético, price_diff = (grid_upper_limit - grid_lower_limit) ÷ gridCount
2) Grid geométrico, min_price_diff = grid_lower_limit x price_ratio
Si la ganancia o el grid es inferior a la comisión de maker, se te notificará que la ganancia total del grid podría no cubrir las comisiones de trading.
¿Cómo se calcula? (La ganancia/grid que se muestra es solo de referencia)
1) Grid aritmético
d = (grid_upper_limit - grid_lower_limit) / grid_count
c = TradingFeeRate (tu tasa de comisión de maker actual)
profit_per_grid_lower = (grid_upper_limit * (1-c)) / (grid_upper_limit-d) - 1 - c
profit_per_grid_higher = (1-c) * d / grid_lower_limit-2c
Ejemplo: Intervalo de precios = 1,000 - 2,000, Grid_count = 10, Comisión = 0.1%
La diferencia de precio de cada grid es = (2000-1000) / 10 = 100
profit_per_grid_lower = (2000*(1-0.1%)) / (2000-100) - 1 - 0.1% = 5.05%
profit_per_grid_higher = (1-0.1%) * 100 / 1,000 - 2 * 0.1% = 9.79%
2) Grid geométrico
r = (grid_upper_limit/grid_lower_limit) ^ (1/grid_count)
c = TradingFeeRate (tu tasa de comisión de maker actual)
profit_per_grid_geo = (1-c) x r - 1 - c
Ejemplo: Intervalo de precios = 1,000 - 2,000, Grid_count = 10, Comisión = 0.1%
La relación de precios de cada grid es = (2,000 ÷ 1,000) ^ (1 ÷ 10) = 107.18%
Ganancia/grid = (1 - 0.1%) * 107.18% - 1 - 0.1% = 6.97%
* No se puede modificar después de generar la orden del grid.
Inversión = valor_inicial/apalancamiento
Puedes ajustar el porcentaje de la cantidad invertible hasta el 100% (Margen inicial = porcentaje * balance de margen). Te en cuenta que debe estar dentro del intervalo entre el min_initial_margin y el balance de margen.
Para el grid de Futuros USDⓈ-M:
Cálculo de min grid qty:
min grid qty = max(minQty, minNotional/grid_lower_limit)
min_initial_margin= min grid qty x sum (price)/(leverage x adjust_coef)
El “assuming price” (precio supuesto) se define según estas fórmulas:
assuming_price (COMPRA) = price*
assuming_price (VENTA) = max (mark_price, price)
* “price” se refiere al precio de cada orden de la estrategia de grid trading establecido automáticamente según los parámetros del grid. Esta definición aplica para cada caso en que “price” aparezca entre comillas en este artículo.
min_initial_margin = sum (min grid qty * assuming price + leverage * min grid qty * abs {min [0, side * (mark price - price)]}) / (leverage * adjust_coef)
Nota: Si estableciste un precio de activación, el precio de marca debe ser sustituido por el precio de activación.
Para el grid de Futuros COIN-M:
Calcula la cantidad mínima de grids:
cant. mín. grid = minQty
min_initial_margin = min grid qty * sum (contract_multiplier / price) / (leverage * adjust_coef)
Define el precio supuesto:
precio supuesto (COMPRA)= min.(precio de referencia, precio)
precio supuesto (VENTA) = precio
min_initial_margin = min grid qty * sum (contract_multiplier /assuming price + leverage * contract_multiplier * abs {min [0, side * (1 / Order's Price - 1 / mark price)]}) / (leverage * adjust_coef)43
* "min grid qty” es el monto mínimo de trading del símbolo. Puedes encontrar más detalles en la página de las Reglas de trading.
* Si estableciste un precio de activación, el precio de marca debe ser sustituido por el precio de activación.
* Actualmente, adjust_coef tiene un valor predeterminado de 0.8. Se ajustará según las condiciones de mercado.
* No se puede modificar una vez generada la orden de grid
Inversión total = Margen inicial x apalancamiento
Para el grid de Futuros USDⓈ-M:
Dirección neutra:
grid_qty = adjust_coef * initial_margin * leverage / sum (price)
Grid con dirección short o long:
“assuming price” se define según esta fórmula:
assuming_price (COMPRA) = price
assuming_price (VENTA) = max (mark_price, price)
grid qty = adjust_coef x initial_margin x Leverage ÷ sum (assuming_price + leverage x abs (min (0, side x (mark_price-price)) ) )
* Si estableciste un precio de activación, el precio de marca debe ser sustituido por el precio de activación.
Para el grid de futuros COIN-M:
Dirección neutra:
grid qty = adjust_coef * initial_margin * leverage / sum (1 / price)
Grid con dirección short o long:
El “assuming price” (precio supuesto) se define según esta fórmula:
assuming_price (COMPRA) = min(mark price, price)
assuming_price (VENTA) = price
grid qty = adjust_coef x initial_margin x Leverage ÷ sum(contract_multiplier ÷ assuming_price + leverage x contract_multiplier x abs(min(0, side x (1 ÷ price - 1 ÷ mark price)) ) )
* Si estableciste un precio de activación, el precio de marca debe ser sustituido por el precio de activación.
En el modo Predeterminado, se mostrará el saldo de margen de tu cuenta de Futuros USDⓈ-M o COIN-M. En el modo de Margen de cartera, verás el saldo disponible en tu billetera Spot.
* Opcional, se puede modificar antes de que se active el grid.
1) Tipo de activador del grid: Cuando el último precio o el precio de mercado que elijas alcance el precio de activación, el grid comenzará a funcionar.
2) Tipo de activador de stop: Cuando el último precio o el precio de mercado alcance el precio stop máximo o mínimo, el grid se detendrá.
* Opcional, se puede modificar después de generar una orden de grid.
Tu orden del grid se activará cuando el último precio o el precio de marca suba o baje del precio de activación que hayas establecido.
* Opcional, se puede modificar después de generar la orden del grid.
1. Activador de precio
El precio stop_upper_limit debe ser mayor que el precio máximo, el último precio y el precio de activación. Cuando el último precio de mercado alcanza el Stop_upper_limit, el grid dejará de funcionar.
Stop_lower_limit price
El precio stop_lower_limit debe ser menor que el precio mínimo, el último precio y el precio de activación. Cuando el último precio de mercado alcance el Stop_lower_limit, el grid dejará de funcionar.
2. Activador de PnL
El cálculo de la ganancia total será según el precio de referencia, que puede no ser coherente con los datos que se muestran en la página (los datos que se muestran en la página se calculan en función del último precio).
3. Activador de porcentaje de ROI
El sistema calculará las PnL correspondientes al porcentaje de ROI que hayas ingresado y determinará si se cumplen las condiciones para activar el TP/SL en función de las PnL estimadas.
4. Cerrar todas las posiciones en Stop TP/SL
También puedes establecer si quieres o no mantener la posición abierta cuando el take profit o el stop loss del grid activen la finalización. Esta configuración es independiente de otras situaciones de finalización, como la finalización por margen insuficiente.
Los usuarios pueden crear un grid de futuros en largo o corto con o sin abrir una posición. Si esta casilla está marcada, las posiciones se abrirán cuando se cree el grid. Si no está marcada, no se abrirá ninguna posición. Para obtener más información, consulta estas Preguntas frecuentes.
* Opcional, se puede modificar después de generar la orden del grid.
Puedes activar esta función para cerrar automáticamente todas las posiciones abiertas del símbolo al precio de mercado cuando se detenga el grid. Esta opción no afectará a tu configuración de TP/SL. Si el precio alcanza el TP o el SL, tus posiciones se cerrarán o permanecerán abiertas en función de la configuración de tu TP/SL.
* Ten en cuenta que las sugerencias de configuración de parámetros anteriores son solo de referencia. El trading de futuros conlleva un riesgo sustancial y la posibilidad de incurrir en ganancias y pérdidas significativas. Las ganancias anteriores no son indicativas de ganancias futuras. Todo tu balance de margen podría ser liquidado en caso de un movimiento extremo de los precios. Binance no será responsable de ninguna de tus pérdidas.
position_notional = Latest_Mark_Price * size
position_notional_value = abs (position notional)
present notional = max (abs (position_notional + bid_notional de la orden abierta), abs (position_notional - ask_notional de la orden abierta))
*Abs: valor absoluto
ask_notional de la orden abierta = askNotional
bid_notional de la orden abierta = bidNotional