Estrategia de media móvil ponderada de ruptura inversa


Fecha de creación: 2023-11-28 14:11:33 Última modificación: 2023-11-28 14:11:33
Copiar: 0 Número de Visitas: 640
1
Seguir
1617
Seguidores

Estrategia de media móvil ponderada de ruptura inversa

Descripción general

La idea principal de esta estrategia es utilizar las inversiones de precios para probar la resistencia ponderada de las áreas de apoyo o resistencia importantes cerca de la media móvil para establecer posiciones. Cuando los precios se elevan o caen, es probable que se formen soportes o presiones, lo que genera oportunidades de reversión.

Principio de estrategia

La estrategia se basa en el indicador de la media móvil ponderada, que primero calcula una media móvil ponderada de cierta longitud, y luego monitorea si el precio se rompe a cierta amplitud. Cuando el precio rompe la media a cierta distancia, dibuja las instrucciones de las flechas y abre una posición.

La estrategia puede elegir entre el uso de tracking stop o el uso de una distancia de parada fija mediante el parámetro de trail. El riesgo puede controlarse ajustando la amplitud de la parada. Se puede bloquear parte de las ganancias mediante el parámetro de un solo precio límite.

Análisis de las ventajas

La mayor ventaja de esta estrategia es que utiliza la combinación de la tendencia inversa y la línea media para identificar los puntos clave del mercado para abrir posiciones. La estrategia inversa generalmente tiene una mejor tasa de ganancias y pérdidas, y el riesgo es fácil de controlar.

Debido a que se basa en una media móvil, el espacio para la optimización de los parámetros es grande, se puede ajustar la longitud de la media, la amplitud de ruptura y otros parámetros para probar la adaptabilidad de los diferentes mercados.

Análisis de riesgos

El mayor riesgo de esta estrategia es el fracaso de la reversión. Cuando el precio forma una señal de reversión, si no se logra activar el stop loss o el stop loss, y se continúa en la dirección original, se formarán grandes pérdidas por fluctuación.

Además, la dependencia de la optimización de los parámetros es alta, y si los parámetros se establecen incorrectamente, es fácil perder el momento de la reversión de los precios o generar falsas señales. Se necesita una comprensión y prueba adecuadas del comportamiento del mercado y una evaluación cuidadosa de la configuración de los parámetros.

Dirección de optimización

Se puede considerar la adición de más indicadores para mejorar la calidad y la precisión de la señal. Por ejemplo, antes de que aparezca una señal de reversión de precios, se puede detectar el incremento en un período determinado, especialmente los datos de incremento de períodos cortos, para determinar las características de la fluctuación de precios.

También se pueden probar métodos de aprendizaje automático para entrenar modelos para determinar el próximo movimiento posible de los precios mediante el registro de señales de transacción históricas y datos de precios. Esto puede ayudar a filtrar falsas señales y mejorar la calidad de la señal.

Además, se puede introducir un cierto mecanismo de optimización de adaptación. De acuerdo con los resultados reales de las transacciones, se puede ajustar dinámicamente los parámetros o las pesas de las reglas para lograr la auto-optimización de la estrategia y la ENO.

Resumir

La estrategia funciona de manera estable en general y puede obtener buenos rendimientos en un espacio de parámetros razonable y en un entorno de mercado. La mayor ventaja es que el riesgo es controlado y tiene cierto potencial de optimización. El trabajo siguiente se centrará en mejorar la calidad de la señal y aumentar la capacidad de optimización de adaptación.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-22 08:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="WMA Breakout",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02)
len = input(20, minval=1, title="Length")
src = input(close, title="Source")
out = wma(src, len)
price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001)
price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001)
trail = input(true, "Trailing Stop(checked), Market stop(unchecked)")
stop = input(10, "Stop (in ticks)", step=1)
limit = input(5, "Limit Out", step=1)
//size = input(1, "Limit Position Size (pyramiding)", minval=1)
timec = input(true, "Limit Time of Day (Buying Side)")


//Time Session
sess = input("1600-0500", "Start/Stop trades (Est time)")
t = time(timeframe.period, sess)
//plots
plot(wma(src,len))
z = if low+price_drop<out
    (out-low)
plotarrow(z, colorup=red)

a = if high-price_climb>out
    (high-out)
plotarrow(a, colorup=lime)
av=wma(src,len)

//Orders
if(timec)
    strategy.entry("Enterlong", long=true, when=z and t>1)
else
    strategy.entry("Enterlong", long=true, when=z)
if(trail)
    strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop )
else
    strategy.exit("Exit","Enterlong", profit=limit, loss = stop )
    
if(timec)
    strategy.entry("Entershort", long=false, when=a and t>1)
else
    strategy.entry("Entershort", long=false, when=a)
if(trail)
    strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop )
else
    strategy.exit("Exit","Entershort", profit=limit, loss = stop )