
A estratégia de rastreamento de reversão binária e quantitativa, combinando o uso de um indicador de média móvel simples e um indicador aleatório, permite uma estratégia de negociação de linha curta eficiente e estável que pode capturar as reversões rápidas do mercado e, ao mesmo tempo, reduzir os custos de oportunidade causados por sinais perdidos.
A estratégia é composta por duas partes: a parte 123 de reversão de forma e a parte 123 de reversão de forma adaptada à média móvel. A parte 123 de reversão de forma julga se há uma oportunidade de reversão, calculando a relação entre os preços de fechamento dos dois dias de negociação anteriores. Se o preço de fechamento do dia anterior for inferior ao dos dois dias anteriores e o preço de fechamento do dia de negociação atual for superior ao do dia anterior, e a linha lenta aleatória for inferior a 50, o sinal gera uma compra. Se o preço de fechamento do dia anterior for superior ao dos dois dias anteriores e o preço de fechamento do dia de negociação atual for inferior ao do dia anterior e a linha rápida for superior a 50, o sinal produz um sinal de venda.
A maior vantagem de uma estratégia de rastreamento de inversão quantitativa de dois canais é a combinação do uso de formas de inversão e filtragem de tendências, permitindo que ela seja capaz de capturar uma reversão rápida e evitar ser presa em um mercado de turbulência. As fontes de receita são principalmente duas: primeiro, a identificação de formas de 123 permite rastrear oportunidades de ajustes rápidos de preços em tempo real, o que muitas estratégias de peso estável não conseguem. Segundo, a aplicação de médias móveis adaptáveis garante a consistência da direção de negociação e da tendência dominante, filtrando efetivamente o ruído e reduzindo as perdas desnecessárias.
O principal risco dessa estratégia é que a configuração inadequada dos parâmetros pode levar a uma frequência de negociação excessiva ou a uma capacidade insuficiente de reconhecimento de sinais. Se os parâmetros da forma 123 forem configurados com muita sensibilidade, isso pode levar a negociações frequentes em situações de turbulência, resultando em maiores perdas de posição. Se a adaptação aos parâmetros da média móvel for muito lenta, a oportunidade de reversão pode ser perdida.
A estratégia pode ser otimizada em vários aspectos: primeiro, ajustar os parâmetros da forma 123 para que seja capaz de identificar uma reversão clara e não ser demasiado sensível para produzir sinais de erro. Segundo, otimizar os parâmetros de uma média móvel auto-adaptável, encontrando o melhor equilíbrio entre o plano e o sensível. Terceiro, pode-se introduzir uma estratégia de stop loss para controlar os perdas individuais.
A estratégia de rastreamento de reversão quantificada em dois canais integra com sucesso as partes indispensáveis do reversão de negociação e filtragem de tendências, e a combinação de vantagens é notável. Com a configuração de parâmetros de otimização contínua e o aperfeiçoamento contínuo do mecanismo de controle de perda e risco, a estratégia tem potencial de se tornar uma estratégia de negociação quantificada e eficiente, fácil de obter ganhos e com risco controlado.
/*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 )