Estratégia de negociação de combinação de momentum de volume múltiplo

OBV RSI MFI CMF VWAP VRSI
Data de criação: 2024-11-12 10:52:54 última modificação: 2024-11-12 10:52:54
cópia: 0 Cliques: 459
1
focar em
1617
Seguidores

Estratégia de negociação de combinação de momentum de volume múltiplo

Visão geral

Trata-se de uma estratégia de negociação integrada baseada em 7 diferentes indicadores de transação. A estratégia constrói um sistema de negociação abrangente através da integração de vários indicadores de transação, como OBV, linhas A / D, CMF, MFI, VWAP, oscilador de transação e RSI de transação.

Princípio da estratégia

A estratégia usa métodos de verificação de múltiplos indicadores, incluindo:

  1. OBV (indicador de maré de energia) usado para rastrear a mudança de volume de carga acumulada
  2. A linha A/D (indicador de concentração) reflete a relação entre preço e volume de transação
  3. O CMF (fluxo monetário de ouro) mede o fluxo de capital para
  4. MFI (indicador de fluxo de capital) mede pressão de compra e venda
  5. VWAP como resistência de suporte dinâmico
  6. Oscilação de volume de transação mostra tendência de volume de transação
  7. VRSI (Volume Relativamente Forte e Fraco) reflete a intensidade do volume de transação

Quando mais de 4 indicadores dão sinais de concordância ao mesmo tempo, a estratégia considera que há uma forte oportunidade de tendência no mercado e, portanto, é possível negociar.

Vantagens estratégicas

  1. Verificação cruzada de múltiplos indicadores para reduzir o risco de falsos sinais
  2. Métodos de análise que combinam volume de transações com preços
  3. Contém a dupla funcionalidade de tracking de momentum e de tendência
  4. A entrada e saída são definidas.
  5. Forte adaptabilidade e extensibilidade

Risco estratégico

  1. Vários indicadores podem causar atraso no sinal
  2. O que pode gerar excesso de transações em mercados em turbulência
  3. A otimização de parâmetros pode levar ao overfitting
  4. Requer recursos computacionais maiores
  5. A taxa de crescimento do mercado de ações é de cerca de US$ 1 bilhão.

Direção de otimização da estratégia

  1. Introdução ao mecanismo de parâmetros adaptativos
  2. Aumentar os filtros de volatilidade do mercado
  3. Optimizar a distribuição de peso dos indicadores
  4. Adição de objetivos de stop loss e profit
  5. Considere introduzir filtros de tempo

Resumir

Trata-se de uma estratégia de negociação integrada, baseada em múltiplos indicadores de volume de transação, para melhorar a precisão das negociações através da análise multidimensional do mercado. A estratégia tem uma base teórica e um valor prático mais fortes, mas requer a otimização de parâmetros e o gerenciamento de riscos apropriados de acordo com as condições do mercado na aplicação prática.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Volume Indicators Strategy", overlay=true)

// تنظیمات
lengthRSI = 14
lengthMFI = 14
lengthCMF = 20
fastLength = 5
slowLength = 10

// محاسبه OBV
obv = ta.cum(close > close[1] ? volume : close < close[1] ? -volume : 0)

// محاسبه A/D به‌صورت دستی
var float ad = na
ad := na(ad[1]) ? 0 : ad[1] + ((close - low) - (high - close)) / (high - low) * volume

// محاسبه CMF (Chaikin Money Flow)
moneyFlowMultiplier = ((close - low) - (high - close)) / (high - low)
moneyFlowVolume = moneyFlowMultiplier * volume
cmf = ta.sma(moneyFlowVolume, lengthCMF) / ta.sma(volume, lengthCMF)

// محاسبه MFI به‌صورت دستی
typicalPrice = (high + low + close) / 3
moneyFlow = typicalPrice * volume

// محاسبه جریان پول مثبت و منفی
positiveFlow = 0.0
negativeFlow = 0.0

for i = 0 to lengthMFI - 1
    positiveFlow := positiveFlow + (close[i] > close[i + 1] ? moneyFlow[i] : 0)
    negativeFlow := negativeFlow + (close[i] < close[i + 1] ? moneyFlow[i] : 0)

mfi = 100 - (100 / (1 + (positiveFlow / negativeFlow)))

// محاسبه VWAP
vwap = ta.vwap(close)

// محاسبه Volume Oscillator
fastVolMA = ta.sma(volume, fastLength)
slowVolMA = ta.sma(volume, slowLength)
volumeOscillator = fastVolMA - slowVolMA

// محاسبه VRSI (Volume RSI)
vrsi = ta.rsi(volume, lengthRSI)

// شمارش اندیکاتورهای سیگنال خرید
buySignals = 0
buySignals := buySignals + (obv > obv[1] ? 1 : 0)
buySignals := buySignals + (ad > ad[1] ? 1 : 0)
buySignals := buySignals + (cmf > 0 ? 1 : 0)
buySignals := buySignals + (mfi < 40 ? 1 : 0)
buySignals := buySignals + (close < vwap ? 1 : 0)
buySignals := buySignals + (volumeOscillator > 0 ? 1 : 0)
buySignals := buySignals + (vrsi < 40 ? 1 : 0)

// شمارش اندیکاتورهای سیگنال فروش
sellSignals = 0
sellSignals := sellSignals + (obv < obv[1] ? 1 : 0)
sellSignals := sellSignals + (ad < ad[1] ? 1 : 0)
sellSignals := sellSignals + (cmf < 0 ? 1 : 0)
sellSignals := sellSignals + (mfi > 60 ? 1 : 0)
sellSignals := sellSignals + (close > vwap ? 1 : 0)
sellSignals := sellSignals + (volumeOscillator < 0 ? 1 : 0)
sellSignals := sellSignals + (vrsi > 60 ? 1 : 0)

// شرایط سیگنال خرید: اگر بیش از 4 اندیکاتور سیگنال خرید دهند
buyCondition = (buySignals > 4)

// شرایط سیگنال فروش: اگر بیش از 4 اندیکاتور سیگنال فروش دهند
sellCondition = (sellSignals > 4)

// ورود به معامله خرید
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// خروج از معامله فروش
if (sellCondition)
    strategy.close("Buy")

// رسم سیگنال‌های خرید و فروش بر روی چارت
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")