
Esta estratégia é conhecida como estratégia de tendência baseada em variações de volume de preços. A estratégia é baseada em variações de preço e volume de transações, com o objetivo de acompanhar a tendência através da construção de uma lista de posições longas e curtas, combinadas com uma média móvel.
O indicador central da estratégia é o indicador de mudança cumulativa de preços (MPVT). O indicador reflete a popularidade do mercado e o fluxo de entrada e saída de capital através da mudança de preços e volume de transações. A fórmula de cálculo específica é a seguinte:
rV = 交易量 / 50000
xCumPVT = 昨日xCumPVT + (rV * (最新收盘价 - 昨日收盘价) / 昨日收盘价)
Em seguida, combinando os parâmetros Level e Scale, construímos o indicador de variação de preço Residence:
nRes = Level + Scale * xCumPVT
O indicador Residence reflete a variação integral de preços e volumes de transação. Quando ele atravessa sua média móvel simples de N dias, faça mais; Quando ele atravessa sua média móvel simples de N dias, faça menos.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
A estratégia pode ser melhorada nos seguintes aspectos:
Pode-se testar diferentes médias móveis, como médias móveis ponderadas, EMAs e outras combinações, para ver qual delas funciona melhor.
Pode ser combinado com outros indicadores, como RSI, KD e outros para filtragem de sinais, reduzindo a probabilidade de ocorrência de sinais errados.
É possível testar diferentes combinações de parâmetros para encontrar o melhor par de parâmetros. Também é possível adotar o método de otimização por etapas, para que os parâmetros sejam atualizados em tempo real.
A estabilidade da estratégia pode ser aumentada por meio da combinação de indicadores de tendência, como a faixa de Brin.
Esta estratégia é uma estratégia típica de preço COMBO, através do cálculo do valor acumulado da mudança de preço e volume de transação, projetando um indicador de mudança de preço Residence, capaz de refletir efetivamente o fluxo de entrada e saída de capital do mercado. A estratégia é simples e prática, aplicável a situações de tendência, com grande espaço para otimização de parâmetros e combinação de indicadores.
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/07/2018
// The related article is copyrighted material from
// Stocks & Commodities.
// Strategy by HPotter.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Modified Price-Volume Trend Backtest", shorttitle="MPVT")
Level = input(0)
Scale = input(1)
Length = input(23)
reverse = input(false, title="Trade reverse")
xOHLC4 = ohlc4
xV = volume
rV = xV / 50000
xCumPVT = nz(xCumPVT[1]) + (rV * (xOHLC4 - xOHLC4[1]) / xOHLC4[1])
nRes = Level + Scale * xCumPVT
xMARes = sma(nRes, Length)
pos = iff(nRes > xMARes, 1,
iff(nRes < xMARes, -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=red, title="MPVT", linewidth = 2)
plot(xMARes, color=blue, title="MPVT", linewidth = 2)