Este artículo presenta una estrategia de negociación cuantitativa basada en un umbral porcentual. La estrategia determina el momento de compra y venta estableciendo un umbral porcentual y seleccionando un período de tiempo apropiado. Cuando el precio sube o cae por encima o por debajo del umbral porcentual especificado en relación con el precio de cierre anterior, activa una señal de compra o venta. Esta estrategia se puede ajustar de manera flexible de acuerdo con las preferencias de riesgo y las condiciones del mercado del usuario, y es adecuada para el comercio de varios instrumentos financieros.
El núcleo de esta estrategia es generar señales comerciales basadas en el cambio porcentual en el precio. En primer lugar, el usuario necesita establecer un umbral porcentual, que representa la magnitud del cambio de precio en relación con el precio de cierre anterior. Al mismo tiempo, el usuario también necesita elegir un período de tiempo, como 1 minuto, 1 hora, 1 día, etc., para calcular los precios altos, bajos y de cierre dentro de ese marco de tiempo. La estrategia monitorea los precios de mercado en tiempo real. Cuando el precio más alto del período de tiempo actual excede el precio de cierre anterior más el umbral, activa una señal de compra; cuando el precio más bajo del período de tiempo actual cae por debajo del precio de cierre anterior menos el umbral, activa una señal de venta. Si se activa una señal de venta mientras se mantiene una posición larga, la estrategia cierra la posición larga; si una señal de compra se mantiene una posición corta, la estrategia cierra.
Este artículo presenta una estrategia de negociación cuantitativa basada en un umbral porcentual, que genera automáticamente señales de compra y venta al establecer un umbral porcentual para los cambios de precio y un período de tiempo. La estrategia es simple de operar, altamente flexible y ampliamente aplicable, pero también enfrenta riesgos como la volatilidad del mercado, la configuración de parámetros y el exceso de ajuste. Al incorporar mecanismos de stop-loss y take-profit, ajustar dinámicamente los parámetros y combinar con otros indicadores técnicos, el rendimiento de la estrategia se puede optimizar aún más para mejorar su efectividad en la negociación real.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("GBS Percentage", overlay=true) // Define input options for percentage settings and timeframe percentage = input.float(1.04, title="Percentage Threshold", minval=0.01, step=0.01) / 100 timeframe = input.timeframe("D", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"]) // Calculate high, low, and close of the selected timeframe high_timeframe = request.security(syminfo.tickerid, timeframe, high) low_timeframe = request.security(syminfo.tickerid, timeframe, low) close_timeframe = request.security(syminfo.tickerid, timeframe, close) // Calculate the percentage threshold based on the previous close threshold = close_timeframe[1] * percentage // Define conditions for Buy and Sell buyCondition = high_timeframe > (close_timeframe[1] + threshold) sellCondition = low_timeframe < (close_timeframe[1] - threshold) // Entry and exit rules if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Close the positions based on the conditions if (sellCondition) strategy.close("Buy") if (buyCondition) strategy.close("Sell") // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar) // Plot the equity curve of the strategy plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)