Esta estrategia calcula los precios más altos y más bajos de las barras N recientes para establecer condiciones de doble ruptura combinadas con una línea de media móvil para implementar una estrategia de negociación de compras bajas y ventas altas.
La estrategia se basa principalmente en los siguientes principios:
Al calcular los extremos de las barras N recientes, juzga si el mercado está extremadamente sobrevendido o sobrecomprado.
La estrategia tiene las siguientes ventajas:
A través de la doble confirmación, la calidad de la señal de la estrategia es relativamente alta y el espacio para la optimización de parámetros es grande, lo que es adecuado para diferentes entornos de mercado.
La estrategia también tiene algunos riesgos:
Estos riesgos pueden reducirse ajustando los ciclos de cálculo, optimizando las combinaciones de parámetros y otros métodos.
La estrategia se puede optimizar principalmente en las siguientes direcciones:
A través de la optimización de parámetros, la optimización de indicadores, la optimización del control de riesgos y otros medios, el factor de ganancia de la estrategia puede mejorarse en gran medida.
En general, esta es una estrategia de ruptura muy práctica. Calculando los extremos de las líneas K para determinar el estado de sobreventa y sobrecompra, utilizando la línea promedio móvil para determinar la dirección de la tendencia, estableciendo condiciones de doble filtrado para filtrar señales falsas, implementa estrategias de alta calidad de compra baja y venta alta. Al optimizar los ciclos de computación, agregar otros indicadores y otros medios, el efecto de la estrategia puede mejorarse aún más. La estrategia es adecuada tanto para que los principiantes aprendan como para que los operadores profesionales la optimicen y la utilicen.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) value1 = input(7, title="Quantity of day low") value2 = input(7, title="Quantity of day high") entry = lowest(close[1], value1) exit = highest(close[1], value2) lengthMMA = input(200, title="Length of SMA", minval=1) mma = sma(close, lengthMMA) // Calcular el mínimo de los precios bajos de las últimas 'value1' velas minLow = lowest(low, value1) // Calcular el máximo de los precios altos de las últimas 'value2' velas maxHigh = highest(high, value2) // Test Period testStartYear = input(2009, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => true if testPeriod() // Condiciones de entrada conditionMet = (close > mma) and (close < entry) and (low == minLow) strategy.entry("Buy", strategy.long, when=conditionMet) if conditionMet label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar) // Condiciones de salida conditionExit = close > exit or close > maxHigh strategy.close("Buy", when=conditionExit)