O recurso está a ser carregado... Carregamento...

Sistema de média de saída e sinalização de zona de sobrevenda de activos financeiros baseado em IFM

Autora:ChaoZhang, Data: 2024-12-05 16:40:47
Tags:Finanças estrangeirasRSISLTPMA

img

Resumo

Esta estratégia é um sistema de negociação automatizado baseado no Índice de Fluxo de Dinheiro (MFI), projetado principalmente para capturar oportunidades potenciais de reversão identificando o comportamento dos ativos em zonas de sobrevenda.

Princípios de estratégia

A estratégia baseia-se nas seguintes etapas-chave:

  1. Monitoriza continuamente as variações de valor das IFM, marcando a entrada na zona de sobrevenda quando as IFM caem abaixo do limiar pré-estabelecido (padrão 20).
  2. Quando as IFM rebotam e ultrapassam o limiar da zona de sobrevenda, o sistema coloca uma ordem de limite de compra abaixo do preço corrente, sendo o preço específico determinado por uma percentagem definida pelo utilizador.
  3. O sistema monitora o período de validade da ordem limite, cancelar automaticamente se não for preenchido no período de observação pré-definido (default 5 velas).
  4. Uma vez que a ordem de compra é preenchida, o sistema estabelece imediatamente os níveis-alvo de stop-loss e lucro, calculados com base nas percentagens do preço de entrada.
  5. As transacções encerram-se automaticamente quando a meta de stop-loss ou de lucro é atingida.

Vantagens da estratégia

  1. Controle de risco abrangente: fornece rácios de risco-recompensação claros através de metas de stop-loss e lucro pré-estabelecidas.
  2. Mecanismo de entrada flexível: o uso de ordens limitadas para a entrada pode obter melhores preços de execução, aumentando o potencial de lucro global.
  3. Alto nível de automação: totalmente automatizado desde a geração de sinal até o gerenciamento de posição, reduzindo a interferência emocional.
  4. Forte ajuste dos parâmetros: os parâmetros-chave, como o período das IFM, o limiar de sobrevenda e a validade das ordens, podem ser otimizados para diferentes características do mercado.
  5. Lógica do sistema clara: as regras da estratégia são explícitas, facilitando o backtesting e o monitoramento ao vivo.

Riscos estratégicos

  1. Risco de sinal falso: as IFM podem gerar sinais falsos de sobrevenda em mercados voláteis.
  2. Risco de deslizamento: as ordens de limite podem não ser executadas aos preços esperados devido a movimentos rápidos do mercado.
  3. Risco de tendência: a entrada precoce em fortes tendências de queda pode enfrentar perdas significativas.
  4. Sensibilidade aos parâmetros: o desempenho da estratégia é sensível às configurações dos parâmetros, exigindo otimização para diferentes ambientes de mercado.

Orientações para a otimização da estratégia

  1. Adicionar Filtragem de Tendências de Mercado: Incorporar médias móveis ou outros indicadores de tendência para permitir a negociação apenas em tendências de alta.
  2. Otimizar a confirmação do sinal: Combinar com RSI, MACD ou outros indicadores técnicos para melhorar a confiabilidade do sinal.
  3. Mecanismo dinâmico de stop-loss: ajustar as distâncias de stop-loss com base na volatilidade do mercado para uma gestão de risco mais flexível.
  4. Construção e encerramento de posições por fases: Implementar ordens de limite de nível de preço múltiplas para reduzir o custo global da posição.
  5. Introduzir filtragem por tempo: habilitar seletivamente a negociação com base em diferentes características do mercado de período de tempo.

Resumo

Esta é uma estratégia de negociação automatizada bem projetada e logicamente clara. Através do uso flexível do indicador MFI, combinado com mecanismos abrangentes de gerenciamento de ordens, ele captura efetivamente os rebotes do mercado após condições de sobrevenda. A alta configurabilidade da estratégia facilita a otimização para diferentes ambientes de mercado. Embora existam certos riscos, eles podem ser abordados através das direções de otimização sugeridas para melhorar ainda mais a estabilidade e lucratividade da estratégia. Adequado para investimentos de médio a longo prazo, especialmente para investidores que buscam oportunidades de rebote de sobrevenda em mercados oscilantes.


/*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













Relacionados

Mais.