A estratégia de agregado de volumes utiliza o agregado de volumes para avaliar o fluxo de capital no mercado, para capturar as mudanças de tendência no mercado. A estratégia combina a média móvel rápida e a média móvel lenta, formando uma curva de indicadores, com compras na curva e vendas abaixo da curva, para acompanhar a tendência do mercado.
A estratégia baseia-se no indicador de momentum agregado, que melhora o indicador de William, substituindo o preço de abertura pelo preço médio do máximo e mínimo do dia, para resolver o problema da falta de preço de abertura. A fórmula do indicador é:
Linha de aglomeração = média móvel do índice de aglomeração rápida - média móvel do índice de aglomeração lenta
Entre eles, a fórmula para o cálculo do índice de mobilidade agregada é:
Índice de dinâmica agregada = (preço de fechamento - preço de abertura) / (preço mais alto - preço mais baixo) * volume de transação
Em razão da falta de preço de abertura, foi utilizado:
Índice de dinâmica agregada = (preço de fechamento - (preço máximo + preço mínimo) / 2) / (preço máximo - preço mínimo) * volume de transação
O indicador usa o diferencial entre a média móvel rápida e a média móvel lenta como linha de medida de agregação. Quando a linha rápida atravessa a linha lenta, é um sinal de compra, e a linha baixa é um sinal de venda.
Ações concretas:
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
O risco pode ser controlado por meio de métodos como otimização de parâmetros e combinação com outros indicadores.
A estratégia pode ser pensada para otimizar em várias direções:
A estratégia do indicador de volume agregado é mais estável e confiável em geral, e pode equilibrar os ganhos e riscos com o ajuste de parâmetros. A adição de condições de filtragem e de parada pode aumentar ainda mais a estabilidade da estratégia. A estratégia é adequada para acompanhar mercados de tendência e pode ser personalizada para obter o efeito da estratégia satisfatória.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-10-11 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/09/2017
// 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.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Money Flow Indicator (Chaikin Oscillator)", shorttitle="MFI")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=hline.style_dashed)
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)))
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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="RMI")