
La estrategia de cruce de dos líneas de equilibrio es una estrategia de negociación cuantitativa más simple. Se realiza calculando el precio de cierre promedio de las 7 líneas de K más recientes y el precio de cierre promedio de las 20 líneas de K más recientes cuando la media corta cruza la media larga desde abajo y cuando la media corta cruza la media larga desde arriba hacia abajo, tomando este tipo de operaciones se puede capturar el punto de inflexión de la tendencia a mediano plazo del mercado.
La lógica central de esta estrategia es calcular el precio de cierre promedio de los últimos 7 K lineas (sin incluir la línea K actual) como el promedio a corto plazo, y calcular el precio de cierre promedio de los últimos 20 K lineas (sin incluir las últimas 7 K lineas) como el promedio a largo plazo. Cuando el promedio a corto plazo atraviesa el promedio a largo plazo desde abajo, el mercado gana más; cuando el promedio a corto plazo atraviesa el promedio a largo plazo desde arriba, el mercado pierde más.
Después de hacer más señales de activación, abra más posiciones según la cantidad de fondos de toda la cuenta; después de que se active la señal de baja, apague las posiciones según la cantidad de posiciones y abra posiciones libres según esa cantidad. Cada posición después de la apertura tendrá una línea K de 20-25 líneas, durante la cual si se produce una pérdida, se detendrá la mitad de la posición, y si se produce suficiente ganancia, se detendrá la mitad de la posición.
Se trata de una estrategia muy sencilla de cruce bidireccional, cuyas ventajas son:
Es una estrategia de seguimiento de tendencias más sencilla, pero con algunos riesgos potenciales:
Los riesgos mencionados pueden ser optimizados de la siguiente manera:
Se trata de una estrategia de cruce bidireccional más sencilla, que se puede optimizar en profundidad en los siguientes aspectos:
Optimización de los parámetros de la línea media, prueba de diferentes combinaciones de líneas medias a corto y largo plazo para encontrar el parámetro óptimo;
La adición de otros indicadores de filtración, como los indicadores de energía, los indicadores de volatilidad, etc., para evitar la generación de señales erróneas en mercados convulsos;
Optimización de las estrategias de stop loss, prueba de diferentes proporciones de stop loss y determinación de los parámetros óptimos.
Probar diferentes ciclos de mercado para optimizar la duración de las posiciones y determinar cuáles son los ciclos en los que la estrategia funciona mejor.
Aumentar los algoritmos de aprendizaje automático para optimizar continuamente los parámetros de la estrategia a través de pruebas en reversa, lo que la hace más estable.
Esta estrategia es una estrategia de cruce de líneas biuniformes más simple, que determina los puntos de inflexión de tendencias a medio plazo calculando los cruces de líneas medianas de diferentes períodos. La estrategia es muy práctica, y la idea es fácil de manejar. Pero la estrategia también tiene ciertas limitaciones, y el principal problema es que no puede determinar eficazmente los puntos de inflexión reales del mercado.
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
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/
// © nrathi2211
//@version=5
strategy("Closing Prices", overlay=true)
//variables
closingB7 = ta.highest(close, 7)[7]
closingB14 = ta.highest(close, 7)[20]
highB14 = ta.highest(low, 50)[7]
capital = 50000
//functions
qty_find(float price) => capital / int(price)
profit_take() =>
profit = strategy.opentrades.profit(strategy.opentrades - 1)
profit*.95
if(closingB7 < closingB14)
if(ta.crossover(close, closingB7))
strategy.entry("long_buy", strategy.long, qty_find(close))
current_profit = strategy.opentrades.profit(strategy.opentrades - 1)
if(current_profit < 0)
strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50)
else if(current_profit < profit_take())
strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50)
if(ta.crossunder(close, closingB7))
strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7)
plot(closingB7, "cl", color.green, 2)
//plot(closingB14, "cl", color.red, 2)
plot(highB14, "cl", color.purple, 2)