Sistema de saída e média de sinal para área de sobrevenda de ativos financeiros com base no indicador MFI

MFI RSI SL TP MA
Data de criação: 2024-12-05 16:40:47 última modificação: 2024-12-05 16:40:47
cópia: 2 Cliques: 440
1
focar em
1617
Seguidores

Sistema de saída e média de sinal para área de sobrevenda de ativos financeiros com base no indicador MFI

Visão geral

A estratégia é um sistema de negociação automatizado baseado no indicador de fluxo de caixa (MFI) para capturar potenciais oportunidades de reversão, principalmente por meio da identificação do desempenho dos ativos nas áreas de sobrevenda. O núcleo da estratégia é gerar um sinal de compra quando o indicador de MFI retorna da área de sobrevenda (abaixo do valor padrão de 20) e gerenciar riscos e ganhos de negociação por meio de mecanismos múltiplos, como a ordem de limite, o stop loss e o profit close.

Princípio da estratégia

A estratégia baseia-se nos seguintes passos-chave:

  1. Monitorar continuamente a variação dos valores do indicador de fluxo de caixa (MFI), quando o MFI cai para o limiar de oversold predefinido (default 20) abaixo, o sistema marca para entrar na área de oversold.
  2. Quando um MFI retorna da zona de oversold e ultrapassa o seu limiar, o sistema define um preço de limite de compra abaixo do preço atual, o preço específico é determinado pela percentagem definida pelo usuário.
  3. O sistema monitora a validade do limite de preço e, se não houver transação dentro do período de observação predefinido (default 5 K-lines), o pedido será cancelado automaticamente.
  4. Uma vez que o pedido é comprado e transacionado, o sistema configura imediatamente o preço de parada e o preço de ganho, calculado em percentagem do preço de entrada.
  5. A negociação será automaticamente encerrada quando atingir o objetivo de stop loss ou de ganho.

Vantagens estratégicas

  1. Controle de risco perfeito: forneça uma clara relação de risco/benefício para cada transação, com um objetivo de stop loss e de ganho predefinido.
  2. O sistema de admissão é flexível: o uso de ingressos de preço limitado permite obter melhores preços de transação e aumentar a margem de lucro geral.
  3. Alto grau de automação: o processo de geração de sinais e gestão de posições é totalmente automatizado, reduzindo o impacto emocional da intervenção humana.
  4. Os parâmetros são altamente ajustáveis: os parâmetros-chave, como o ciclo do MFI, o limiar de venda excessiva, a validade do pedido, etc., podem ser otimizados de acordo com as diferentes características do mercado.
  5. A lógica do sistema é clara: as regras de estratégia são claras, facilitando a detecção e o monitoramento em disco.

Risco estratégico

  1. Risco de falso sinal: em mercados altamente voláteis, os MFIs podem gerar falsos sinais de oversold. Recomenda-se a verificação cruzada em combinação com outros indicadores técnicos.
  2. Risco de deslizamento: o preço limite pode não ser negociado pelo preço esperado devido à rápida flutuação do mercado. O preço limite pode ser relaxado ou prolongado de acordo com a necessidade.
  3. Risco de tendência: Em uma forte tendência de queda, entrar prematuramente pode causar grandes perdas. Recomenda-se o aumento do filtro de tendência.
  4. Sensibilidade de parâmetros: a performance da estratégia é sensível à configuração de parâmetros e precisa ser otimizada para diferentes ambientes de mercado.

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

  1. Aumentar o filtro de tendências de mercado: pode-se introduzir indicadores de tendências, como médias móveis, para abrir negociações apenas em tendências ascendentes.
  2. Mecanismo de confirmação de sinal optimizado: pode ser combinado com outros indicadores técnicos, como RSI, MACD, para melhorar a confiabilidade do sinal.
  3. Mecanismo de parada dinâmico: pode ser ajustado a distância de parada dinâmica de acordo com a volatilidade do mercado, aumentando a flexibilidade de parada.
  4. Construção em lotes de armazéns e armazéns: lista de preços de limite para vários preços, reduzindo o custo geral de armazenagem.
  5. Introdução de filtros de tempo: pode ser seletivamente aberto de acordo com as características do mercado em diferentes períodos de tempo.

Resumir

Trata-se de uma estratégia de negociação automatizada concebida de forma racional e com lógica clara. Através da utilização flexível dos indicadores de MFI, combinada com um mecanismo de gestão de ordens perfeito, é possível capturar eficazmente as oportunidades de rebote após o excesso de venda do mercado. A estratégia é altamente configurável, facilitando o ajuste otimizado de acordo com diferentes condições de mercado.

Código-fonte da estratégia
/*backtest
start: 2024-11-04 00:00:00
end: 2024-12-04 00:00:00
period: 3h
basePeriod: 3h
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/
// © traderhub

//@version=5
strategy("MFI Strategy with Oversold Zone Exit and Averaging", overlay=true)

// Strategy parameters
mfiPeriod = input.int(title="MFI Period", defval=14) // Period for calculating MFI
mfiOS = input.float(title="MFI Oversold Level", defval=20.0) // Oversold level for MFI
longEntryPercentage = input.float(title="Long Entry Percentage (%)", minval=0.0, step=0.1, defval=0.1) // Percentage for the buy limit order
stopLossPercentage = input.float(title="Stop Loss Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage for the stop-loss
exitGainPercentage = input.float(title="Exit Gain Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage gain for the take-profit
cancelAfterBars = input.int(title="Cancel Order After # Bars", minval=1, defval=5) // Cancel order after a certain number of bars

// Calculate MFI
mfi = ta.mfi(close, mfiPeriod)  // MFI with specified period

// Variables for tracking state
var bool inOversoldZone = false  // Flag for being in the oversold zone
var float longEntryPrice = na  // Price for long entry
var int barsSinceEntryOrder = na  // Counter for bars after placing an order

// Define being in the oversold zone
if (mfi < mfiOS)
    inOversoldZone := true  // Entered oversold zone

// Condition for exiting the oversold zone and placing a limit order
if (inOversoldZone and mfi > mfiOS)
    inOversoldZone := false  // Leaving the oversold zone
    longEntryPrice := close * (1 - longEntryPercentage / 100)  // Calculate limit price for entry
    strategy.entry("Long Entry", strategy.long, limit=longEntryPrice)  // Place a limit order
    barsSinceEntryOrder := 0  // Reset counter for bars after placing the order

// Increase the bar counter if the order has not yet been filled
if (not na(barsSinceEntryOrder))
    barsSinceEntryOrder += 1

// Cancel order if it hasn’t been filled within the specified number of bars
if (not na(barsSinceEntryOrder) and barsSinceEntryOrder >= cancelAfterBars and strategy.position_size == 0)
    strategy.cancel("Long Entry")
    barsSinceEntryOrder := na  // Reset bar counter

// Set stop-loss and take-profit for filled positions
if (strategy.position_size > 0)
    stopLossPrice = longEntryPrice * (1 - stopLossPercentage / 100)  // Calculate stop-loss level
    takeProfitPrice = longEntryPrice * (1 + exitGainPercentage / 100)  // Calculate take-profit level
    strategy.exit("Exit Long", from_entry="Long Entry", limit=takeProfitPrice, stop=stopLossPrice)

// Visualize oversold and overbought zones
bgcolor(mfi < mfiOS ? color.new(color.green, 90) : na)  // Background in oversold zone
plot(mfi, title="MFI", color=color.blue)  // MFI plot
hline(mfiOS, "Oversold Level", color=color.red)  // Oversold level line