Estrategia combinada de reversión y flujo de dinero


Fecha de creación: 2023-09-17 22:37:54 Última modificación: 2023-09-17 22:58:03
Copiar: 0 Número de Visitas: 651
1
Seguir
1617
Seguidores

La estrategia permite el seguimiento de tendencias y el comercio de inversiones mediante la combinación de 123 formas invertidas con indicadores de flujo de capital.

Principio de estrategia

En primer lugar, a través de 123 formas de inversión para determinar el punto de inflexión de precios. En concreto, si el precio de cierre de los dos primeros días bajó, el precio de cierre del tercer día subió, y el indicador aleatorio está por debajo de la brecha, generando una señal de compra; si el precio de cierre de los dos primeros días subió, el precio de cierre del tercer día bajó, y el indicador aleatorio está por encima de la brecha, generando una señal de venta.

En segundo lugar, se calcula el índice de flujo de fondos de la línea rápida y la línea lenta. La línea rápida está formada por el promedio móvil del índice de flujo de fondos reciente, y la línea lenta es el promedio móvil del índice de un período más largo. Si la línea rápida es más alta que la línea lenta, se juzga que el flujo de fondos genera una señal de compra; a la inversa, genera una señal de venta.

Por último, la combinación de las señales de 123 inversiones con el indicador de fluidez de fondos, si las dos señales coinciden, produce una señal de negociación.

Análisis de las ventajas

  • La combinación de varias señales puede mejorar la fiabilidad de la señal.
  • La forma inversa de 123 puede capturar el punto de inflexión, el indicador de fluidez de fondos para determinar la dirección de los fondos.
  • Se puede optimizar el rendimiento de diferentes variedades y ciclos mediante la adaptación de parámetros.
  • Se puede operar con una de las señales por separado.

Análisis de riesgos

  • La forma inversa de 123 puede generar una señal falsa.
  • El flujo de capital es retrasado y no se puede captar el punto de inflexión a tiempo.
  • La combinación de múltiples señales y la lógica de la estrategia son relativamente complejas.
  • Se necesita optimizar los parámetros para evitar el exceso de comercio.

Se puede controlar el riesgo mediante la mejora de la fiabilidad de la forma inversa, la sensibilidad de los indicadores de fluidez de fondos y la adición de la lógica de stop loss.

Dirección de optimización

  • Prueba diferentes combinaciones de parámetros para encontrar el mejor.
  • Ajuste de las pérdidas de compra y venta para reducir la probabilidad de transacciones erróneas.
  • Añadir otros indicadores técnicos para mejorar la calidad de la señal.
  • La participación en el mecanismo de suspensión de pérdidas para controlar las pérdidas individuales.
  • Optimización de las estrategias de gestión de fondos y control de la brecha de riesgo global.

Resumir

Esta estrategia combina las ventajas de las inversiones con el seguimiento de tendencias, lo que permite identificar con eficacia los puntos de inflexión del mercado. Sin embargo, se debe tener en cuenta la ajuste de parámetros y el control de riesgos, para evitar la generación de demasiadas señales erróneas mientras se sigue la tendencia. Si se usa correctamente, puede ser una de las estrategias de negociación más eficientes.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/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
//    Indicator plots Money Flow Indicator (Chaikin). This indicator looks 
//    to improve on Larry William's Accumulation Distribution formula that 
//    compared the closing price with the opening price. In the early 1970's, 
//    opening prices for stocks stopped being transmitted by the exchanges. 
//    This made it difficult to calculate Williams' formula. The Chaikin 
//    Oscillator uses the average price of the bar calculated as follows 
//    (High + Low) /2 instead of the Open.
//    The indicator subtracts a 10 period exponential moving average of the 
//    AccumDist function from a 3 period exponential moving average of the 
//    AccumDist function.  
//
// 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


MFI(Fast,Slow) =>
    pos = 0.0
    lenMax = max(Fast, Slow)
    lenMin = min(Fast, Slow)
    xDiv = (high - low) * volume
    SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax)
    SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin)
    emaMax = ema(SumMax, lenMax)
    emaMin = ema(SumMin, lenMin)
    nRes = emaMax - emaMin
    pos:= iff(nRes > 0, 1,
           iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Money Flow Indicator", 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, "---- Money Flow ----")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(Fast,Slow)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -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 )