Esta estrategia adopta el enfoque de negociación de red fija estableciendo el precio inicial y el porcentaje entre cada capa de red. Luego calcula 10 precios fijos de compra y venta basados en el porcentaje para implementar la estrategia de negociación de red de compra baja-venta alta.
La estrategia fija primero el precio inicial y el porcentaje de distancia de la red, y luego calcula 10 capas de precios de compra y venta basadas en el precio inicial y el porcentaje.
Fórmula del precio de compra:
b1=precio-precio*p1)
b2=precio-precio*p2)
b3=precio-precio*p3)
…
Donde p1~p10 son porcentajes calculados capa por capa en función del porcentaje de red.
Fórmula del precio de venta:
El valor de las emisiones de CO2 es el valor de las emisiones de CO2 de las emisiones de CO2.
El valor de las emisiones de CO2 es el valor de las emisiones de CO2 de las empresas.
El valor de las emisiones de CO2 es el valor de las emisiones de CO2 de las emisiones de CO2.
…
La condición de compra se activa cuando el precio de cierre es inferior al precio de compra:
si (cerca de < b1)
En el caso de las empresas que no cumplen con los requisitos de la presente Directiva, la información que se proporciona en el apartado 1 del presente artículo no se utilizará para determinar si el producto se encuentra en una situación de riesgo.
Del mismo modo, la condición de venta se activa cuando el precio de cierre es mayor que el precio de venta:
si (casi> s1)
strategy.exit("b1", cuando=(cerrar>s1))
Esto pone en práctica la estrategia de comercio de red de compra baja-venta alta.
La estrategia de red fija tiene las siguientes ventajas:
Se consigue auto-baja compra-alta venta sin sin cronometrar el mercado, reduce la dificultad comercial.
Establecer una distancia adecuada de la red controla eficazmente el riesgo y evita la persecución.
Rentable si el mercado sube o baja.
Flexibilidad para ajustar los parámetros de la red a las diferentes condiciones del mercado.
Aumentar el tamaño de la posición añadiendo capas de cuadrícula.
Incorporar el stop loss evita pérdidas enormes en eventos extremos del mercado.
La estrategia también tiene algunos riesgos:
Las tarifas de negociación consumen las ganancias durante el mercado de rango limitado.
Precio inicial incorrecto y configuración de la red conducen a pérdidas.
La diferencia de precios puede causar pérdidas durante eventos extremos.
El comercio mecánico tiene riesgo de inserción de órdenes.
Los eventos concentrados pueden amplificar las pérdidas.
Soluciones:
Optimizar los parámetros de la red para garantizar el beneficio > tarifas.
Prueba de retroceso para encontrar el precio inicial óptimo y la distancia de la red.
Añadir stop loss para controlar los riesgos.
Relaja el precio de la orden para evitar la inserción.
Configurar el control de riesgo para limitar la pérdida máxima.
La estrategia puede mejorarse de las siguientes maneras:
Ajuste dinámicamente la distancia de la red en función de la volatilidad.
Calcular el rango de precios para establecer dinámicamente el precio inicial.
Añadir el modelo ML para predecir el precio y ajustar la cuadrícula.
Optimizar el stop loss basado en los puntos históricos de stop loss.
Incorporar el tamaño de las posiciones basado en el nivel de ganancia.
Optimizar la gestión de la posición para maximizar la utilización del capital.
Mejorar la ejecución mediante el TWAP para reducir el coste de impacto.
La estrategia implementa la negociación de la red fija estableciendo precios de compra y venta basados en el precio inicial y el porcentaje de la red, logrando la auto-compra baja-venta alta. Es importante gestionar los riesgos optimizando parámetros, ajustes dinámicos y stop loss para bloqueo de ganancias y control de pérdidas. La incorporación de técnicas avanzadas de ML y gestión de dinero puede mejorar aún más la rentabilidad de la estrategia y la tasa de ganancia.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Lionkind //@version=5 strategy("Grid HW", overlay = true, margin_long = 1, margin_short = 1) // Fix 35k price as starting point and 1% as a distance sprice=input(40500,"Starting price") gridpercent=input(1,"Percent") // calculate the % of the 10 layers p1=((gridpercent*1)/100) p2=((gridpercent*2)/100) p3=((gridpercent*3)/100) p4=((gridpercent*4)/100) p5=((gridpercent*5)/100) p6=((gridpercent*6)/100) p7=((gridpercent*7)/100) p8=((gridpercent*8)/100) p9=((gridpercent*9)/100) p10=((gridpercent*10)/100) //set buy prices b1=sprice-(sprice*p1) b2=sprice-(sprice*p2) b3=sprice-(sprice*p3) b4=sprice-(sprice*p4) b5=sprice-(sprice*p5) b6=sprice-(sprice*p6) b7=sprice-(sprice*p7) b8=sprice-(sprice*p8) b9=sprice-(sprice*p9) b10=sprice-(sprice*p10) //set sell prices s1=b1+(sprice*p1) s2=b2+(sprice*p1) s3=b3+(sprice*p1) s4=b4+(sprice*p1) s5=b5+(sprice*p1) s6=b6+(sprice*p1) s7=b7+(sprice*p1) s8=b8+(sprice*p1) s9=b9+(sprice*p1) s10=b10+(sprice*p1) //Long conditions lc1=close<b1 lc2=close<b2 lc3=close<b3 lc4=close<b4 lc5=close<b5 lc6=close<b6 lc7=close<b7 lc8=close<b8 lc9=close<b9 lc10=close<b10 //exit conditions ec1=close>s1 ec2=close>s2 ec3=close>s3 ec4=close>s4 ec5=close>s5 ec6=close>s6 ec7=close>s7 ec8=close>s8 ec9=close>s9 ec10=close>s10 //long orders if (lc1) strategy.entry("b1", strategy.long, when=(lc1)) if (lc2) strategy.entry("b2", strategy.long, when=(lc2)) if (lc3) strategy.entry("b3", strategy.long, when=(lc3)) if (lc4) strategy.entry("b4", strategy.long, when=(lc4)) if (lc5) strategy.entry("b5", strategy.long, when=(lc5)) if (lc6) strategy.entry("b6", strategy.long, when=(lc6)) if (lc7) strategy.entry("b7", strategy.long, when=(lc7)) if (lc8) strategy.entry("b8", strategy.long, when=(lc8)) if (lc9) strategy.entry("b9", strategy.long, when=(lc9)) if (lc10) strategy.entry("b10", strategy.long, when=(lc10)) //exit orders if (ec1) strategy.exit("b1", when=(ec1), limit=1) if (ec2) strategy.exit("b2", when=(ec2), limit=1) if (ec3) strategy.exit("b3", when=(ec3), limit=1) if (ec4) strategy.exit("b4", when=(ec4), limit=1) if (ec5) strategy.exit("b5", when=(ec5), limit=1) if (ec6) strategy.exit("b6", when=(ec6), limit=1) if (ec7) strategy.exit("b7", when=(ec7), limit=1) if (ec8) strategy.exit("b8", when=(ec8), limit=1) if (ec9) strategy.exit("b9", when=(ec9), limit=1) if (ec10) strategy.exit("b10", when=(ec10), limit=1) plot(b1,color=color.green) plot(s1, color=color.red) plot(b2, color=color.purple)