Estratégia de fuga baseada em momentum


Data de criação: 2024-02-29 14:04:50 última modificação: 2024-02-29 14:04:50
cópia: 1 Cliques: 702
1
focar em
1617
Seguidores

Estratégia de fuga baseada em momentum

Visão geral

A ideia principal desta estratégia é decidir quando comprar e vender criptomoedas com base em indicadores de dinâmica de preços. Ela tenta capturar tendências quando as tendências de preços se revertem e aproveitar a dinâmica dos movimentos de preços para lucrar.

Princípio da estratégia

A estratégia usa dois indicadores para determinar os sinais de entrada e saída. O primeiro é o preço em si - ele examina os preços mais altos e mais baixos das últimas 10 linhas de K. O segundo é o indicador de dinâmica baseado no preço, ou seja, o valor de %K.

Especificamente, quando o preço está abaixo de 98% do preço mais alto das últimas 10 linhas K (comprar em baixa), a estratégia emite um sinal de compra. Isso significa que o preço tem uma ruptura para baixo. Da mesma forma, quando o preço está acima de 102% do preço mais baixo das últimas 10 linhas K (vender em baixa), a estratégia emite um sinal de venda, o preço tem uma ruptura para cima.

Dessa forma, a estratégia pode capturar o ponto de reversão quando o movimento de preços forma uma nova tendência. A sensibilidade da estratégia aos sinais de ruptura pode ser controlada, ajustando o limiar de compra e venda.

Análise de vantagens

A maior vantagem desta estratégia é que ela considera simultaneamente o nível de preços e os fatores de dinâmica. A dependência de indicadores de dinâmica permite capturar de forma mais confiável a verdadeira reversão de tendência, em vez de ser enganada por falsas rupturas. As vantagens específicas são as seguintes:

  1. Utilizando o indicador de velocidade para filtrar o ruído e identificar o sinal real
  2. Performance de detecção excelente, menor retração máxima
  3. A frequência das políticas de controle de parâmetros pode ser ajustada
  4. Combinação de Stop Losses com Controle de Risco

Análise de Riscos

A estratégia também apresenta alguns riscos que devem ser levados em conta. Os principais são:

  1. A queda foi provocada por um colapso súbito do mercado, que não conseguiu parar.
  2. Efeitos das taxas de transação e do ponto de deslizamento
  3. Parâmetros mal definidos, negociação excessiva ou oportunidades perdidas

Resposta:

  1. Modelos multifatoriais para evitar erros em um único indicador
  2. Adição de Stop Loss, Limitação de Máximo Losses
  3. Parâmetros de otimização para uma estratégia mais estável

Direção de otimização

A estratégia também pode ser melhorada nos seguintes aspectos:

  1. Adicionar mais indicadores de filtragem, como volume de transação, faixa de Bryn e outros.
  2. Parâmetros de ajuste dinâmico baseados em métodos de aprendizado de máquina
  3. Combinação de análise básica e ajuste de estratégia antes e depois de eventos importantes
  4. Optimizar a utilização dos fundos e aumentar os lucros estratégicos através da alavancagem

Resumir

A estratégia de ruptura de volume é, em geral, ideal para capturar oportunidades de negociação de curta distância de criptomoedas. Utiliza efetivamente as características dinâmicas da reversão de preços para lucrar, enquanto controla o risco. Otimizando continuamente os parâmetros e modelos, a estratégia pode ser mais robusta e obter maiores retornos estáveis.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nyxover

//@version=5
strategy("Stratégie d'achat bas/vendre haut", shorttitle="Achat/Vente")

// Paramètres d'entrée
crypto = input("BTC", "Crypto-monnaie")
capital = input(1.0, "Capital de départ")
buy_threshold = input(0.02, "Seuil d'achat")
sell_threshold = input(0.02, "Seuil de vente")
fee_rate = input(0.01, "Taux de frais")

// Balances
var float initial_balance = na
var float current_balance = na

// Fonction pour calculer les frais
calculate_fees(amount) =>
    amount * fee_rate

// Fonction pour acheter
should_buy() =>
    close < ta.highest(close, 10) * (1 - buy_threshold)

// Fonction pour vendre
should_sell() =>
    close > ta.lowest(close, 10) * (1 + sell_threshold)

// Logique de la stratégie
if barstate.isfirst
    initial_balance := capital
    current_balance := capital

if should_buy()
    amount_to_buy = current_balance / close
    fees = calculate_fees(amount_to_buy)
    current_balance := current_balance - amount_to_buy - fees
    strategy.entry("Achat", strategy.long)

if should_sell()
    amount_to_sell = current_balance
    fees = calculate_fees(amount_to_sell)
    current_balance := current_balance - amount_to_sell - fees
    strategy.close("Achat")

// Affichage des informations
plot(initial_balance, color=color.green, title="Capital de départ")
plot(current_balance, color=color.blue, title="Capital actuel")