Estratégia de negociação de rede inteligente de retração de preço MA100 de vários intervalos

SMA MA ATR
Data de criação: 2025-02-19 11:12:51 última modificação: 2025-02-19 11:12:51
cópia: 0 Cliques: 693
1
focar em
1617
Seguidores

Estratégia de negociação de rede inteligente de retração de preço MA100 de vários intervalos

Visão geral

A estratégia é um sistema de negociação de grades multi-área baseado na média móvel MA100. Ela permite a construção de posições em lotes, através da definição de diferentes intervalos de retorno de preços (-8%, 15%, 20%), comprando gradualmente quando há uma queda maior no mercado e lucrando quando o preço se reverte 3%. A estratégia usa o conceito de grade inteligente para controlar o risco, limitando o número máximo de posições em cada intervalo e o intervalo de negociação.

Princípio da estratégia

A lógica central da estratégia inclui os seguintes aspectos:

  1. Preço de referência usando uma média móvel simples de 100 ciclos (SMA) como estratégia
  2. A partir daí, você pode definir três intervalos de compra:
    • Intervalo 2: retracção de 8%, máximo de 2 transações permitidas
    • Faixa 3: Retirada de preço de 15%, máximo de 3 transações permitidas
    • Faixa 4: Retirada de preços de 20%, máximo de 4 transações permitidas
  3. Condições de posição de equilíbrio unificada: quando o preço rebota acima de 3% do MA100
  4. Cada intervalo tem um intervalo mínimo de negociação de 50 K-line-cycles para evitar transações muito frequentes

Vantagens estratégicas

  1. A construção de armazéns em vários blocos reduz os custos
  2. A ideia de uma grelha de negociação para capturar oportunidades em momentos de forte volatilidade
  3. Limitação máxima de posições e intervalos de negociação para controlar o risco
  4. A lógica da estratégia é simples, fácil de entender e manter.
  5. Aplicável a ambientes de mercado com alta volatilidade
  6. Pode ser executado automaticamente, sem intervenção humana.

Risco estratégico

  1. A tendência de queda continua e pode gerar um retorno maior.
  2. Requer maior capital para apoiar a construção de armazéns multi-área
  3. As condições de equilíbrio são relativamente simples, podendo perder espaço para um aumento maior.
  4. A tendência geral do mercado não é levada em consideração, podendo ter um desempenho fraco em um cenário de tendência
  5. Os parâmetros percentuais fixos podem não ser adequados para todas as circunstâncias do mercado

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

  1. Introdução de indicadores de avaliação de tendências e ajuste de parâmetros estratégicos em tendências fortes
  2. Otimização do mecanismo de liquidação, permitindo ajustes dinâmicos dos objetivos de lucro em função da volatilidade do mercado
  3. Adição de módulos de controle de risco e configuração de limites de posição e paradas de perda
  4. Introdução de indicadores de volatilidade (como o ATR) e ajuste dinâmico do intervalo de construção de posição
  5. Optimizar o mecanismo de intervalo de negociação, que pode ser ajustado de acordo com a dinâmica da situação do mercado

Resumir

A estratégia tem uma melhor capacidade de resistência ao risco, através de negociações em grades de vários blocos, construindo em lotes quando o mercado retrocede drasticamente. Embora existam alguns riscos potenciais, o efeito de negociação estável pode ser alcançado com a configuração razoável de parâmetros e medidas de controle de risco. O espaço para otimização adicional reside principalmente na adição de mais indicadores de adaptabilidade ao mercado e no aperfeiçoamento do mecanismo de controle de risco.

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

//@version=5
// BTC SOL ETH BNB XMR RNDR AKT OM ONDO IO

strategy("MA100 crash buy 3 Zone // 15 min", overlay=true, calc_on_every_tick=true)

// Définition des MA
maH1 = ta.sma(close, 100)
maB2 = ta.sma(close, 100)
maB3 = ta.sma(close, 100)
maB4 = ta.sma(close, 100)

// Définition du niveau d'achat et de vente
sellLevel1 = maH1 * 1.03 //+3%
buyLevel2 = maB2 * 0.92 //-8%
buyLevel3 = maB2 * 0.85 //-15%
buyLevel4 = maB2 * 0.80 //-20%



// Nombre max de trades simultanés
maxTrades2 = 2
maxTrades3 = 3
maxTrades4 = 4

// Délais entre deux ordres (en bougies)
tradeDelay = 50
var float lastTradeTime = na
var float lastSellTime = na
tradeDelay2 = 50
var float lastTradeTime2 = na
tradeDelay3 = 50
var float lastTradeTime3 = na
tradeDelay4 = 50
var float lastTradeTime4 = na

// Condition d'achat et de vente
buyCondition2 = low <= buyLevel2 and strategy.opentrades < maxTrades2 and (na(lastTradeTime2) or bar_index - lastTradeTime2 > tradeDelay2)
buyCondition3 = low <= buyLevel3 and strategy.opentrades < maxTrades3 and (na(lastTradeTime3) or bar_index - lastTradeTime3 > tradeDelay3)
buyCondition4 = low <= buyLevel4 and strategy.opentrades < maxTrades4 and (na(lastTradeTime4) or bar_index - lastTradeTime4 > tradeDelay4)
sellCondition = strategy.position_size > 0 and high >= sellLevel1 and (na(lastSellTime) or bar_index - lastSellTime > tradeDelay)

if buyCondition2
    strategy.entry("Buy", strategy.long)
    lastTradeTime2 := bar_index  // Enregistre le moment du trade

if buyCondition3
    strategy.entry("Buy", strategy.long)
    lastTradeTime3 := bar_index  // Enregistre le moment du trade

if buyCondition4
    strategy.entry("Buy", strategy.long)
    lastTradeTime4 := bar_index  // Enregistre le moment du trade

if sellCondition
    strategy.close("Buy")  // Ferme 50% de toutes les positions ouvertes // , qty_percent=30
    lastSellTime := bar_index  // Enregistre le moment du trade


// Affichage des niveaux
plot(sellLevel1, color=#fa930d, title="Sell Level")
plot(buyLevel2, color=#15bbfd, title="Buy Level")
plot(buyLevel3, color=#1229aa, title="Buy Level")
plot(buyLevel4, color=#9812aa, title="Buy Level")