Estratégia de negociação diária de gerenciamento de posição dinâmica


Data de criação: 2024-05-28 11:21:52 última modificação: 2024-05-28 11:21:52
cópia: 0 Cliques: 674
1
focar em
1617
Seguidores

Estratégia de negociação diária de gerenciamento de posição dinâmica

Visão geral

A estratégia utiliza uma abordagem de negociação diária consistente, com foco em capturar pequenos lucros-alvo enquanto se controla rigorosamente o risco. A estratégia foi retrospectiva desde 2021 e apresentou um desempenho robusto, com uma taxa de vitória de negociação de 100%. A ideia principal da estratégia é abrir novas posições de capital aberto ou de capital aberto no início de cada dia de negociação, com base na situação do mercado do dia anterior.

Princípio da estratégia

O princípio central da estratégia é basear-se no movimento do mercado no dia de negociação anterior, abrindo novas posições em ativos ou em ativos vazios no início de cada dia de negociação. Concretamente, se não houver nenhuma posição no dia anterior, a estratégia abrirá uma posição em ativos vazios no início de um novo dia.

Vantagens estratégicas

A estratégia de negociação diária tem várias vantagens significativas:

  1. 100% de sucesso: a estratégia alcançou 100% de sucesso em 36 transações liquidadas, destacando o seu desempenho consistente.
  2. Gerenciamento de posição dinâmico: se a posição de cabeça vazia tocar o stop loss, a estratégia abrirá imediatamente uma nova posição de cabeça múltipla para substituí-la, garantindo uma abertura de mercado contínua.
  3. Gestão rigorosa do risco: a estratégia estabelece um objetivo de lucro de 0,3% e um stop loss de 0,2% para controlar eficazmente o risco.
  4. Participação regular no mercado: estratégia de abrir posições no início de cada dia, garantindo participação regular no mercado.
  5. Resultados de retrospectiva sólidos: a retrospectiva iniciada em 2021 mostrou um desempenho sólido, com lucro líquido de 22,2% e retração máxima de 13,75%

Risco estratégico

Apesar do excelente desempenho e controle de risco da estratégia, existem alguns riscos potenciais:

  1. Possibilidade de perdas contínuas: Embora os resultados de retrospectiva sejam impressionantes, o desempenho passado não garante resultados futuros. O risco de perdas contínuas pode corroer os lucros.
  2. Eventos de Cisne Negro: A estratégia pode ser vulnerável a eventos inesperados e a flutuações extremas do mercado, resultando em perdas maiores do que as esperadas.
  3. Risco de alavancagem: a estratégia usa 200% de alavancagem em cada transação, o que aumenta o retorno potencial, mas também aumenta o risco.

Para mitigar esses riscos, pode-se considerar aumentar a diversificação, aplicando estratégias semelhantes em diferentes mercados e classes de ativos. Também é importante monitorar e ajustar regularmente os parâmetros da estratégia para se adaptar a condições de mercado em constante mudança.

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

  1. Optimização de parâmetros: Objetivos de lucro, stop loss e outros parâmetros-chave podem ser melhorados com feedback e otimização adicionais para obter o melhor desempenho em diferentes condições de mercado.
  2. Diversificação: Estender a estratégia para outros mercados e classes de ativos pode aumentar o retorno geral e reduzir o risco.
  3. Ajuste de posição dinâmico: Ajuste do tamanho da posição de forma dinâmica de acordo com a volatilidade do mercado ou outros fatores, para otimizar ainda mais o retorno após o ajuste de risco.
  4. Adicionar filtros adicionais: A introdução de indicadores técnicos adicionais ou indicadores de sentimento de mercado como filtros pode melhorar a qualidade do sinal de negociação.

Resumir

Em geral, esta estratégia de negociação diária oferece uma abordagem equilibrada para a negociação diária, com foco no gerenciamento de risco e lucro contínuo. É adequada para os comerciantes que buscam uma abordagem de negociação sistemática e rigorosa. A estratégia apresenta resultados de retorno impressionantes, 100% de vitória e um retorno robusto após o ajuste de risco.

Código-fonte da estratégia
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)

// Input parameters
profit_target = input(0.3, title="Profit Target (%)") / 100
loss_target = input(0.2, title="Loss Target (%)") / 100
start_year = input(2021, title="Start Year")

// Calculate daily open and close
new_day = ta.change(time("D"))

var float entry_price_long = na
var float entry_price_short = na
var bool position_long_open = false
var bool position_short_open = false

// Date check
trade_start = timestamp(start_year, 1, 1, 0, 0)

if new_day and time >= trade_start
    // If there was a previous long position, check for profit target
    if position_long_open
        current_profit_long = (close - entry_price_long) / entry_price_long
        if current_profit_long >= profit_target
            strategy.close("AUD Trade Long", comment="Take Profit Long")
            position_long_open := false
    
    // If there was a previous short position, check for profit target
    if position_short_open
        current_profit_short = (entry_price_short - close) / entry_price_short
        if current_profit_short >= profit_target
            strategy.close("AUD Trade Short", comment="Take Profit Short")
            position_short_open := false

    // Check for daily loss condition for short positions
    if position_short_open
        current_loss_short = (close - entry_price_short) / entry_price_short
        if current_loss_short <= -loss_target
            strategy.close("AUD Trade Short", comment="Stop Loss Short")
            position_short_open := false
            
            // Open a new long position to replace the stopped short position
            strategy.entry("AUD Trade Long Replacement", strategy.long)
            entry_price_long := close
            position_long_open := true

    // Open a new long position at the start of the new day if no long position is open
    if not position_long_open and not position_short_open
        strategy.entry("AUD Trade Long", strategy.long)
        entry_price_long := close
        position_long_open := true

    // Open a new short position at the start of the new day if no short position is open
    if not position_short_open and not position_long_open
        strategy.entry("AUD Trade Short", strategy.short)
        entry_price_short := close
        position_short_open := true

// Check for continuous profit condition for long positions
if position_long_open
    current_profit_long = (close - entry_price_long) / entry_price_long
    if current_profit_long >= profit_target
        strategy.close("AUD Trade Long", comment="Take Profit Long")
        position_long_open := false

// Check for continuous profit condition for short positions
if position_short_open
    current_profit_short = (entry_price_short - close) / entry_price_short
    if current_profit_short >= profit_target
        strategy.close("AUD Trade Short", comment="Take Profit Short")
        position_short_open := false

// Plot the entry prices on the chart
plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2)
plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2)

// Display current profit/loss percentage for long positions
var label profit_label_long = na
if position_long_open and not na(entry_price_long)
    current_profit_long = (close - entry_price_long) / entry_price_long * 100
    label.delete(profit_label_long)
    profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

// Display current profit/loss percentage for short positions
var label profit_label_short = na
if position_short_open and not na(entry_price_short)
    current_profit_short = (entry_price_short - close) / entry_price_short * 100
    label.delete(profit_label_short)
    profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)