Estratégia de avanço de dupla posição

Autora:ChaoZhang, Data: 2023-10-24 14:02:47
Tags:

img

Resumo

A estratégia de ruptura de posição dupla realiza o rastreamento da tendência e a obtenção de lucros através do estabelecimento de posições longas e curtas simultaneamente.

Princípios de estratégia

A lógica central desta estratégia é a seguinte:

  1. Utilize a variável percentagem para definir o tamanho da posição em 10%.

  2. Use bar_index para determinar se a barra atual é uma barra par ou ímpar.

  3. Se for uma barra par, execute a lógica de abertura de posição longa. Use alert_message para enviar uma mensagem webhook com informações como posição de abertura, preços de take profit e stop loss, etc. Abra posição longa através da estratégia. entrada.

  4. Se for uma barra ímpar, execute a lógica de abertura de posição curta.

  5. Após abrir curto, use o alerta para enviar uma mensagem webhook com informações como posição de fechamento, preços de take profit e stop loss, etc. Feche a posição longa anterior através de alerta.

Esta estratégia pode lucrar do lado longo e curto, estabelecendo posições em ambos os lados. Ela pode ganhar lucro quando há um avanço em qualquer direção.

Análise das vantagens

As vantagens desta estratégia são as seguintes:

  1. Pode lucrar com movimentos do mercado, tanto longos como curtos, existindo oportunidades para abrir posições e obter lucros, quer o mercado suba ou desça.

  2. A partir daí, a empresa pode utilizar ao máximo o capital para negociar, estabelecendo posições em ambos os lados.

  3. Depois de estabelecer posições duplas, pode seguir a tendência em tempo útil quando houver um avanço.

  4. Adota um stop-loss de trailing para parar a tempo e controlar os riscos.

  5. Usado com webhook e API de troca, realiza negociação automatizada.

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. Quando o mercado está limitado, ambas as posições podem ficar presas.

  2. Os custos de negociação são mais elevados. A abertura em duas direcções leva a mais custos de negociação.

  3. A necessidade de encontrar produtos adequados para o comércio. A flutuação dos produtos não deve ser nem demasiado elevada nem demasiado baixa.

  4. Precisamos de observar o mercado de perto e ajustar as posições a tempo.

  5. Os tamanhos das posições devem ser definidos com precisão, pois um tamanho demasiado grande significa um elevado risco, um tamanho demasiado pequeno significa um lucro limitado.

Orientações de otimização

A estratégia pode ser otimizada a partir dos seguintes aspectos:

  1. Ajustar o tamanho da posição com base nas diferentes características do produto.

  2. Otimizar o algoritmo de stop loss para reduzir os desencadeadores desnecessários de stop loss, garantindo simultaneamente uma stop loss eficaz.

  3. Incorporar indicadores de tendência para determinar a direção geral da tendência, menor frequência de negociação e custos.

  4. Adicionar condições de reentrada às posições abertas novamente após o stop loss.

  5. Usar ordens de limite em vez de ordens de mercado para entrar no mercado a preços adequados.

  6. Otimizar a gestão de capital para combinar dinamicamente o tamanho da posição com o tamanho da conta.

Conclusão

A estratégia de ruptura de posição dupla ganha seguindo a tendência quando há uma ruptura após o estabelecimento de posições longas e curtas duplas. Ela pode fazer pleno uso do capital e capturar oportunidades de ruptura em tempo hábil. Mas o risco de posições duplas ficarem presas precisa ser evitado. Stop loss e gerenciamento de posição razoáveis são cruciais. Com otimizações contínuas, essa estratégia pode se tornar um sistema de ruptura muito prático.


/*backtest
start: 2023-10-16 00:00:00
end: 2023-10-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Crypto-Arsenal

//@version=5
// strategy("Buy One Sell One", overlay = false, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

percent = str.tostring(10)
cls = str.tostring(close)
tp = str.tostring(strategy.position_avg_price * (1 + 0.1))
sl = str.tostring(strategy.position_avg_price * (1 - 0.1))
    
if(bar_index % 2 == 0)
    // DEMO FOR SENDING MESSAGE WITH alert_message()
    // NEED TO ADD {{{strategy.order.alert_message}} to Message field at Create Alert box 
    
    // Add "limit" to open a LIMIT order instead of default MARKET
    alert_message = '{"action":"openLong","percent":"' + percent + '","profit":"' + tp + '","loss":"' + sl + '","connectorName":"YOUR_CONNECTOR_NAME","connectorToken":"YOUR_CONNECTOR_TOKEN","log":"Open Long at price:' + cls + '"}'
    strategy.entry('Enter Long',  strategy.long, alert_message = alert_message)
else
    // DEMO FOR SENDING MESSAGE WITH alert() 

    strategy.entry('Enter Short', strategy.short)
    // Add "limit" to open a LIMIT order instead of default MARKET
    alert_message = '{"action":"closeLong","percent":"' + percent + '","profit":"' + sl + '","loss":"' + tp + '","connectorName":"YOUR_CONNECTOR_NAME","connectorToken":"YOUR_CONNECTOR_TOKEN","log":"Close long at price:' + cls + '"}'
    alert(alert_message, alert.freq_once_per_bar)

Mais.