
La estrategia de seguimiento de inversiones cuantificadas de doble canalización, mediante la combinación del uso de un simple indicador de media móvil y un indicador aleatorio, permite una estrategia de negociación de línea corta estable y eficiente que puede capturar los rápidos cambios de tendencia del mercado y reducir los costos de oportunidad derivados de las señales perdidas.
La estrategia se compone de dos partes: la parte 123 de reversión de la forma y la parte 123 de reversión de la forma para determinar si hay una oportunidad de reversión calculando la relación de precios de cierre de los dos días de negociación anteriores. Si el precio de cierre del día anterior es inferior al de los dos días anteriores y el precio de cierre del día de negociación actual es superior al del día anterior, y la línea lenta aleatoria es inferior a 50, se genera una señal de compra. Si el precio de cierre del día anterior es superior al de los dos días anteriores y el precio de cierre del día de negociación actual es inferior al del día anterior, y la línea rápida es superior a 50, se genera una señal de venta.
La mayor ventaja de la estrategia de seguimiento de inversiones de doble canalización es que combina el uso de formas de inversiones y filtros de tendencias, lo que permite capturar cambios rápidos y evitar ser atrapado en mercados convulsivos. Las fuentes de ganancias son principalmente dos: primero, la identificación de las formas 123 permite rastrear la oportunidad de ajustar los precios rápidamente en el tiempo, algo que muchas estrategias de peso estable no pueden hacer. Segundo, la aplicación de medias móviles adaptadas asegura la consistencia de la dirección de la negociación y la tendencia dominante, filtra eficazmente el ruido y reduce las pérdidas innecesarias.
El principal riesgo de esta estrategia reside en que la configuración inadecuada de los parámetros puede provocar una frecuencia de negociación excesiva o una capacidad de reconocimiento de señales insuficiente. Si los parámetros de la forma 123 son demasiado sensibles, pueden provocar una mayor pérdida de posición y una mayor frecuencia de negociación en situaciones de crisis. Si la adaptación a los parámetros de la media móvil es demasiado lenta, se puede perder la oportunidad de reversión.
La estrategia se puede optimizar en los siguientes aspectos: primero, se pueden ajustar los parámetros de la forma 123 para que puedan identificar una reversión clara y no sean demasiado sensibles para generar señales erróneas. Segundo, se pueden optimizar los parámetros de las medias móviles que se adaptan a sí mismas para encontrar el equilibrio óptimo entre la estabilidad y la sensibilidad. Tercero, se pueden introducir estrategias de stop loss para controlar las pérdidas individuales.
La estrategia de seguimiento de inversiones cuantificadas en dos canales integra con éxito las partes indispensables del comercio inverso y el filtrado de tendencias, y la combinación es muy ventajosa. A través de la optimización continua de la configuración de parámetros y la mejora continua del mecanismo de control de pérdidas y riesgos, la estrategia tiene el potencial de ser una estrategia de comercio cuantificada y eficiente que sea fácil de obtener ganancias y controlar el riesgo.
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 08/12/2020
// 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
// Everyone wants a short-term, fast trading trend that works without large
// losses. That combination does not exist. But it is possible to have fast
// trading trends in which one must get in or out of the market quickly, but
// these have the distinct disadvantage of being whipsawed by market noise
// when the market is volatile in a sideways trending market. During these
// periods, the trader is jumping in and out of positions with no profit-making
// trend in sight. In an attempt to overcome the problem of noise and still be
// able to get closer to the actual change of the trend, Kaufman developed an
// indicator that adapts to market movement. This indicator, an adaptive moving
// average (AMA), moves very slowly when markets are moving sideways but moves
// swiftly when the markets also move swiftly, change directions or break out of
// a trading range.
//
// 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
KAMA(Length) =>
pos = 0.0
nAMA = 0.0
xPrice = close
xvnoise = abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
reverse = input(false, title="Trade reverse")
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
pos := iff(close[1] > nAMA, 1,
iff(close[1] < nAMA, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Kaufman Moving Average Adaptive", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthKAMA = input(21, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKAMA = KAMA(LengthKAMA)
pos = iff(posReversal123 == 1 and posKAMA == 1 , 1,
iff(posReversal123 == -1 and posKAMA == -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 )