Estrategia combinada de inversión de doble factor y mejora de la tendencia de volumen de precios


Fecha de creación: 2024-01-25 14:46:36 Última modificación: 2024-01-25 14:46:36
Copiar: 1 Número de Visitas: 612
1
Seguir
1617
Seguidores

Estrategia combinada de inversión de doble factor y mejora de la tendencia de volumen de precios

Descripción general

Esta estrategia combina dos estrategias de inversión de doble factor y dos subestrategias de tendencia de precio de mejora para obtener una señal de negociación integral. La estrategia de inversión de doble factor se basa en el pensamiento de P183 en el libro de Ulf Jensen, y genera una señal cuando el precio de liquidación de las acciones se invierte en dos días y se establecen condiciones de indicadores aleatorios.

Principio de estrategia

La estrategia de doble factor inversa utiliza el principio de inversión de precios de cierre de dos días con el juicio de espacio múltiple de indicadores aleatorios. Si el día anterior el precio de cierre era alto y el precio de cierre se invertió hoy y el indicador aleatorio rápido es inferior al indicador aleatorio lento y el indicador aleatorio rápido es superior a 50, se produce una señal de cabeza vacía. Si el cierre del día anterior era bajo y el precio de cierre se invertió hoy y subió, y el indicador aleatorio rápido es superior al indicador aleatorio lento y el indicador aleatorio rápido es inferior a 50, se produce una señal de cabeza múltiple.

La estrategia de mejora de la tendencia de la cantidad de precios se basa en el análisis conjunto de precios y volumen de transacciones. La fórmula de cálculo es: PxVFactor = PriceFactor + Scale * CumPVT, donde PriceFactor es el factor de precios y CumPVT es el indicador de energía acumulada. Luego se calcula el promedio móvil simple de Length Day de PxVFactor, que se compara con el valor actual de PxVFactor, para determinar la tendencia y la fuerza del mercado.

La combinación de estrategias toma en cuenta de forma integral las señales de las dos subestrategias, y la inversión binaria y la mejora de la tendencia de los volúmenes de precios producen una señal de ausencia correspondiente cuando la tendencia es favorable o negativa.

Análisis de las ventajas

  • La estrategia de reversión de doble factor, que combina la reversión de precios con el juicio de indicadores aleatorios, puede identificar eficazmente los extremos a corto plazo y capturar oportunidades de reversión.
  • Las estrategias de mejora de la tendencia de los volúmenes de precios incorporan un factor de volumen de transacciones que puede determinar el momento en que el mercado se acumule.
  • Las dos estrategias se verifican mutuamente para mejorar la estabilidad y evitar señales erróneas.
  • Utiliza parámetros de corto plazo, como 9 o 14 días, para operaciones de corto plazo y de corto plazo.

Riesgo y optimización

  • La estrategia inversa tiene el riesgo de ser bloqueada, y se debe establecer un stop loss para controlar el riesgo.
  • Las estrategias de precios cuantitativos aumentan la posibilidad de retroceder, y las pérdidas se expanden si se determina la dirección incorrecta del mercado.
  • Se puede probar si el peso de los dos factores PriceFactor y CumPVT es óptimo y se puede optimizar aún más.
  • Se puede probar la tasa de retiro de ganancias bajo diferentes parámetros diarios, para elegir el parámetro óptimo.

Resumir

En resumen, la estrategia de combinación de tendencias de reversión de doble factor y mejora de la cantidad de precios, combinada con el análisis de las dos dimensiones de la reversión y la tendencia, pueden verificar las señales entre sí y mejorar la estabilidad. Es necesario agregar indicadores de tendencia como juicio auxiliar en una estrategia de reversión fácil de ajustar.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/02/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//  The related article is copyrighted material from
//  Stocks & Commodities.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


MPVT(Level,Scale,Length) =>
    pos = 0.0
    xCumPVT = 0.0
    xOHLC4 = ohlc4
    xV = volume
    rV = xV / 50000
    xCumPVT := nz(xCumPVT[1]) + (rV * (xOHLC4 - xOHLC4[1]) / xOHLC4[1])
    nRes = Level + Scale * xCumPVT
    xMARes = sma(nRes, Length)
    pos:= iff(nRes > xMARes, 1,
           iff(nRes < xMARes, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Modified Price-Volume Trend", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Price-Volume Trend ----")
LevelPVT = input(1)
Scale = input(1)
LengthPVT = input(23)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMPVT = MPVT(LevelPVT,Scale,LengthPVT)
pos = iff(posReversal123 == 1 and posMPVT == 1 , 1,
	   iff(posReversal123 == -1 and posMPVT == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )