
A estratégia de breakout de inversão de dupla linha de equilíbrio é uma estratégia combinada que combina a estratégia de inversão de 123 e a estratégia de diferença entre o preço e a linha de equilíbrio. A principal idéia da estratégia é gerar um sinal de negociação quando a diferença entre o preço e a linha de equilíbrio de um determinado período forma um sinal correspondente ao mesmo tempo em que a inversão de 123.
A estratégia de ruptura de dupla equilíbrio consiste em duas partes:
O sinal de negociação da estratégia de inversão 123 é: o preço de fechamento invertido por dois dias consecutivos (ou seja, o preço de fechamento do dia anterior é alto, o fechamento do dia seguinte é baixo; ou o fechamento do dia anterior é baixo, o fechamento do dia seguinte é alto), enquanto a linha K do indicador aleatório do dia 9 está abaixo de um determinado nível (ou seja, 50), formando assim um sinal de compra; o preço de fechamento invertido por dois dias consecutivos, enquanto a linha K do indicador aleatório do dia 9 está acima de um determinado nível (ou seja, 50), formando assim um sinal de venda.
A estratégia de diferença entre o preço e a linha média é a porcentagem de diferença entre o preço e a linha média do período especificado (default 14 dias). O sinal de compra é gerado quando a diferença é menor que um determinado nível (default 3%) e o sinal de venda é gerado quando a diferença é maior que um determinado nível (default 0.54%).
Uma estratégia de breakout de inversão de dupla linha de equilíbrio só produz um sinal de negociação real quando os sinais de negociação das duas estratégias acima são alinhados, ou seja, ambos são para comprar ou ambos são para vender.
A estratégia de ruptura de inversão de dupla equilíbrio combina os benefícios da estratégia de inversão e da estratégia de tendência.
A estratégia de reversão, como uma estratégia de reversão, pode capturar oportunidades de reversão quando o preço se reverte. A estratégia de preço e de diferença de linha média, como uma estratégia de acompanhamento de tendências, pode capturar tendências em linhas mais longas.
Além disso, ao exigir a sincronização dos sinais de ambas as estratégias, é possível reduzir efetivamente o número de transações inválidas e aumentar a taxa de ruído.
A estratégia de dupla equilíbrio inversa de ruptura, embora utilize os benefícios das duas estratégias em conjunto, também herda os riscos de cada uma delas.
Para a parte de inversão de 123, a inversão de dois dias consecutivos não garante completamente a inversão de preços, podendo ser uma falsa inversão causada pela correção de curto prazo. Além disso, a configuração inadequada dos parâmetros do indicador aleatório também pode levar à diminuição da qualidade do sinal.
Para a diferença entre o preço e a linha média, a configuração inadequada dos parâmetros da linha média pode causar atraso no sinal. Além disso, a diferença entre o preço e a linha média não permite determinar a direção da tendência, podendo apenas gerar sinais mecanicamente.
Em suma, o principal risco da estratégia é a configuração inadequada de parâmetros e erros de julgamento. O risco pode ser evitado por meio de parâmetros de otimização, configuração de stop loss, ou negociação de intervenção manual.
A estratégia de breakout de inversão de dupla equilíbrio pode ser otimizada nos seguintes aspectos:
A combinação de vários meios pode aumentar ainda mais a estabilidade e a rentabilidade da estratégia.
A estratégia de ruptura de inversão de dupla linha combinada usa a estratégia de reversão e a estratégia de tendência para produzir sinais de negociação reais em simultâneo com os dois sinais de estratégia. Ela pode capturar oportunidades de reversão de preços de curto prazo e acompanhar tendências de longo prazo, evitando ser encaixada. Ao mesmo tempo, a combinação de sinais duplos aumenta a confiabilidade do sinal.
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 13/04/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
// Percent difference between price and MA
//
// 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
DBP_MA(Length,SellZone,BuyZone) =>
pos = 0.0
xSMA = sma(close, Length)
nRes = abs(close - xSMA) * 100 / close
pos:= iff(nRes < BuyZone, 1,
iff(nRes > SellZone, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Difference between price and MA", 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, "---- Difference between price and MA ----")
LengthDBP = input(14, minval=1)
SellZone = input(0.54, minval=0.01, step = 0.01)
BuyZone = input(0.03, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDBP_MA = DBP_MA(LengthDBP,SellZone,BuyZone)
pos = iff(posReversal123 == 1 and posDBP_MA == 1 , 1,
iff(posReversal123 == -1 and posDBP_MA == -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 )