Estratégia de dimensionamento de posições com volume elevado e baixa ruptura

Autora:ChaoZhang, Data: 2024-02-18 15:43:02
Tags:

img

Resumo

A ideia central desta estratégia é rastrear breakouts durante o alto volume de negociação usando uma abordagem de dimensionamento de posição composta baseada em uma porcentagem de risco definida e alavancagem simulada de 250x.

Estratégia lógica

Os sinais de entrada longos são acionados quando:

  1. Volume excede um limiar definido pelo utilizador (volThreshold)
  2. O nível mais baixo da barra atual é inferior ao nível mais baixo da barra anterior (lowLowerThanPrevBar)
  3. O fechamento da barra corrente é negativo, mas superior ao fechamento da barra anterior (negativoCloseWithHighVolume)
  4. Não existe posição longa aberta (strategy.position_size == 0)

O dimensionamento da posição é calculado da seguinte forma:

  1. Valor do risco baseado no capital próprio * percentagem de risco
  2. Valor do risco * alavancagem (250x) para determinar o número de contratos/lotes

Regras de saída:

Fechar posição longa quando a percentagem de lucro posProfitPct atingir stop loss (-0,14%) ou take profit (4,55%).

Análise das vantagens

Vantagens desta estratégia:

  1. Captura as oportunidades de reversão da tendência decorrentes de um elevado volume de negociação
  2. O dimensionamento das posições compostas permite um crescimento mais rápido dos lucros
  3. A redução razoável das perdas e a obtenção de lucros ajudam a controlar o risco

Análise de riscos

Riscos a considerar:

  1. 250x alavancagem amplifica perdas
  2. Não contabiliza deslizamentos, comissões, requisitos de margem
  3. Requer backtesting robusto e otimização de parâmetros

O risco pode ser reduzido:

  1. Redução do montante da alavancagem
  2. Aumento da percentagem de stop loss
  3. Contabilização dos custos reais de negociação

Oportunidades de otimização

Áreas de melhoria:

  1. Ajuste dinâmico do nível de alavancagem
  2. Otimizar as regras de stop loss e take profit
  3. Adicionar filtro de tendência
  4. Personalizar parâmetros com base no instrumento

Conclusão

Em resumo, esta é uma estratégia bastante simples e direta para capturar reversões e ganhos excessivos. Mas existem riscos e testes prudentes no mundo real são essenciais. Com otimização, pode ser tornado mais robusto e prático.


/*backtest
start: 2023-02-11 00:00:00
end: 2024-02-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("High Volume Low Breakout (Compounded Position Size)", overlay=true, initial_capital=1000)

// Define input for volume threshold
volThreshold = input.int(250, "Volume Threshold")

// Define input for risk per trade as a percentage of total equity
riskPercentage = input.float(10, "Risk Percentage")

// Calculate volume
vol = volume

// Check for high volume and low lower than the previous bar
highVolume = vol > volThreshold
lowLowerThanPrevBar = low < low[1]

// Calculate position profit percentage
posProfitPct = 100 * (close - strategy.position_avg_price) / strategy.position_avg_price

// Calculate the position size based on risk percentage and total account equity
equity = strategy.equity
riskAmount = (equity * riskPercentage / 100) / (close - strategy.position_avg_price)

// Calculate leverage (250x in this case)
leverage = 250

// Calculate the position size in contracts/lots to trade
positionSize = riskAmount * leverage

// Check if the current bar's close is negative when it has high volume
negativeCloseWithHighVolume = highVolume and close < close[1]

// Enter long position as soon as volume exceeds the threshold, low is lower than the previous bar, and the current bar's close is negative
if highVolume and lowLowerThanPrevBar and negativeCloseWithHighVolume and strategy.position_size == 0
    strategy.entry("Long", strategy.long, qty=positionSize, comment="Long Entry")

// Exit long position intrabar if profit goes below -0.14% or above 1%
if strategy.position_size > 0
    if posProfitPct < -0.14 or posProfitPct > 4.55
        strategy.close("Long")


Mais.