1. Estrategia de ruptura de rango
Este ejemplo muestra cómo crear una estrategia adoptando reglas/condiciones personalizadas
Abrir posición Posición larga: ruptura por encima del último máximo de 60 minutos Posición corta: ruptura por debajo del último mínimo de 60 minutos Cerrar posición Cierre de posición larga: ruptura por debajo del pico de 10 minutos Cierre de posición corta: ruptura por encima del mínimo de 10 minutos
1.1 Reglas de nueva creación
1. Apertura de posicion larga
Condiciones price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 60, “usdt”) y order_collateral(“usdt”) ==0 y position(“BTC_USDT”, “usdt”) == 0
(1)price("BTC_USDT", 0, "USDT") > max_price("BTC_USDT", 60, "USDT") Esta condición significa que el precio actual del contrato perpetuo de BTC es mayor que el precio más alto de los últimos 60 minutos.
(2)y order_collateral(“usdt”) ==0 Esta condición significa que no hay órdenes pendientes para la estrategia actual; orden_colateral es una función predefinida, que obtiene el margen de las órdenes no llenadas. Si el valor de retorno de esta función es 0, significa que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) == 0 Esta condición significa que el tamaño de la posición actual de la estrategia es 0 y la posición es una función predefinida. Indica la posición en el mercado especificado para la estrategia actual.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: largo; precio límite: bid_price("BTC_USDT", 1, "USDT"); tamaño: 1.

2. Condiciones de apertura de posiciones cortas
Condiciones price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 60, “usdt”) y order_collateral(“usdt”) ==0 y position(“BTC_USDT”, “usdt”) == 0
(1)price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 60, “usdt”) Esta condición significa que el precio actual del contrato perpetuo de BTC es inferior al precio más bajo de los últimos 60 minutos.
(2)y order_collateral(“usdt”) ==0 Esta condición significa que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) == 0 Esta condición significa que el tamaño de posición actual para la estrategia es 0.
Estrategia de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: corto; precio límite: ask_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

3. Condiciones de cierre de posiciones largas
Condiciones price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 10, “usdt”) y order_collateral(“usdt”) ==0 y position(“BTC_USDT”, “usdt”) > 0
(1)price(“BTC_USDT”, 0, “usdt”) < min_price(“BTC_USDT”, 10, “usdt”) Esta condición significa que el precio actual del contrato perpetuo de BTC es inferior al precio más bajo de los últimos 10 minutos.
(2)y order_collateral(“usdt”) ==0 Esta condición indica que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) > 0 Esta condición implica que la estrategia ya ha establecido posiciones, en base a las cuales se cerrarán las posiciones.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: corto; precio límite: ask_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

4. Condiciones de cierre de corto
Condiciones price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 10, “usdt”) y order_collateral(“usdt”) ==0 y position(“BTC_USDT”, “usdt”) < 0
(1)price(“BTC_USDT”, 0, “usdt”) > max_price(“BTC_USDT”, 10, “usdt”) Esta condición significa que el precio actual del contrato perpetuo de BTC es superior al precio más alto de los últimos 10 minutos.
(2)y order_collateral(“usdt”) ==0 Esta condición indica que no hay órdenes pendientes para la estrategia actual.
(3)and position(“BTC_USDT”, “usdt”) < 0 Esta condición implica que la estrategia ya ha establecido posiciones, en base a las cuales se cerrarán las posiciones.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: largo; precio límite: ask_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

1.2 Reglas para crear estrategias
Establezca las condiciones de apertura y las condiciones de cierre sucesivamente añadiendo las "condiciones de apertura de la posición larga", las "condiciones de apertura de la posición corta", las "condiciones de cierre de la posición larga" y las "condiciones de cierre de la posición corta" sucesivamente.

2. Estrategia de ruptura extrema
Este ejemplo muestra cómo crear una estrategia usando variables personalizadas Abrir largo/Cerrar corto
Donde: pricet representa el último precio en el momento actual
closet-1: representa el precio de cierre en el momento anterior
Abrir corto/Cerrar largo
2.1 Nueva variable
Nombre de la variable: range
Condición
true
Valor de la variable
max_price(“BTC_USDT”, 10, “usdt”) - min_price(“BTC_USDT”, 10, “usdt”)

2.2 Reglas para la nueva creación
1. Condiciones de apertura en largo
Condiciones price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)0.5 y order_collateral(“usdt”) ==0 y position(“BTC_USDT”, “usdt”) == 0 (1)price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)0.5 Esta condición indica posiciones largas abiertas como la siguiente regla:
Obtener el valor de la variable "range" mediante la función predefinida "get_value"
(2)y order_collateral(“usdt”) ==0 Esta condición indica que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) == 0 Esta condición significa que hay posiciones abiertas para la estrategia.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: largo; precio límite: bid_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

2. Condiciones de apertura en corto
Condiciones price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)0.5 y order_collateral(“usdt”) ==0 and position(“BTC_USDT”, “usdt”) == 0 (1)price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)0.5 Esta condición indica posiciones cortas abiertas según la siguiente regla:

Obtener el valor de la variable "range" mediante la función predefinida "get_value".
(2)y order_collateral(“usdt”) ==0 Esta condición indica que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) == 0 Esta condición significa que no hay posiciones de apertura para la estrategia.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: corto; precio límite: ask_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

3. Condiciones de cierre de largo
Condiciones price(“BTC_USDT”, 0, “usdt”) 0 (1)price(“BTC_USDT”, 0, “usdt”)< price(“BTC_USDT”, 1, “usdt”) - get_value(“range”)*0.5 Esta condición indica cerrar posiciones largas según la siguiente regla:
Obtener el valor de la variable "range" mediante la función predefinida "get_value".
(2)y order_collateral(“usdt”) ==0
Esta condición significa que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) > 0 Esta condición implica que la estrategia ya ha establecido posiciones, en base a las cuales se cerrarán las posiciones.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: corto; precio límite: ask_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

4. Condiciones de cierre de corto
Condiciones price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)0.5 y order_collateral(“usdt”) ==0 y position(“BTC_USDT”, “usdt”) < 0 (1)price(“BTC_USDT”, 0, “usdt”)>price(“BTC_USDT”, 1, “usdt”)+get_value(“range”)0.5 Esta condición indica cerrar posiciones cortas según la siguiente regla:

Obtener el valor de la variable "range" mediante la función predefinida "get_value".
(2)y order_collateral(“usdt”) ==0 Esta condición indica que no hay órdenes pendientes para la estrategia actual.
(3)y position(“BTC_USDT”, “usdt”) < 0 Esta condición implica que la estrategia ya ha establecido posiciones, en base a las cuales se cerrarán las posiciones.
Lógica de ejecución
Tipo: trading de contratos; mercado: contrato perpetuo BTC/USDT; tipo de orden: límite; apalancamiento: x5; lado: largo; precio límite: bid_price(“BTC_USDT”, 1, “usdt”); tamaño: 1.

2.3 Reglas para crear estrategias
Cuando se usan variables personalizadas, estas deben ejecutarse antes que las condiciones en la secuencia de ejecución. Por ejemplo, la variable personalizada"range" (rango) debe ejecutarse en primer lugar, seguida de las condiciones de apertura y cierre en el orden 2 a 5.

Gate se reserva el derecho final de interpretación del producto.
