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

Estratégia de entrada em crossover de média móvel dupla

Autora:ChaoZhang, Data: 2024-04-30 17:37:53
Tags:MA5SMA

img

Resumo

Esta é uma estratégia de entrada cruzada de média móvel dupla baseada na média móvel de 5 dias (MA5). A ideia principal desta estratégia é entrar em posições a uma certa distância acima ou abaixo da MA5, e fechar posições quando o preço de fechamento for maior do que o preço de entrada ou retornar ao preço de entrada. Esta estratégia visa capturar tendências de curto prazo enquanto controla os riscos.

Princípio da estratégia

Esta estratégia usa a média móvel simples de 5 dias (SMA) como indicador principal. Quando o preço de abertura de uma nova vela está acima do MA5, executa o cenário de compra 1; quando o preço de abertura de uma nova vela está abaixo do MA5 e a distância do MA5 excede 0,002 pontos, executa o cenário de compra 2. Para as condições de venda, quando o preço de fechamento é maior ou igual ao preço de entrada médio, executa o cenário de venda 1; quando o preço de fechamento é inferior a 0,1% do preço de entrada médio, executa o cenário de venda 2.

Análise das vantagens

  1. Esta estratégia baseia-se em tendências de curto prazo e pode captar rapidamente as alterações do mercado.
  2. A definição de um limiar para a distância do MA5 permite filtrar alguns sinais sonoros.
  3. Ao estabelecer condições de stop-loss, os riscos podem ser eficazmente controlados.
  4. A lógica estratégica é clara e fácil de compreender e implementar.

Análise de riscos

  1. Esta estratégia baseia-se num único indicador e pode correr o risco de falha do indicador.
  2. As estratégias de tendência de curto prazo podem enfrentar frequentes negociações e aumentar o risco de custos de transação.
  3. As percentagens fixas de stop-loss podem não poder adaptar-se aos diferentes ambientes de mercado.

Direcção de otimização

  1. Outros indicadores, como o RSI e o MACD, podem ser considerados para melhorar a fiabilidade dos sinais.
  2. As condições de stop-loss e take-profit podem ser otimizadas, como o uso de trailing stops ou percentagens dinâmicas de stop-loss.
  3. Para diferentes ambientes de mercado, podem ser definidos diferentes parâmetros para melhorar a adaptabilidade da estratégia.

Resumo

Esta estratégia de entrada de crossover de média móvel dupla é uma estratégia simples baseada em tendências de curto prazo. Através de cruzar acima e abaixo do MA5, e definir limiares de distância, as oportunidades de tendência de curto prazo podem ser capturadas. Ao mesmo tempo, os stop-loss de porcentagem fixa podem controlar os riscos. No entanto, esta estratégia também tem algumas limitações, como confiar em um único indicador e negociação frequente. No futuro, mais indicadores podem ser introduzidos e as condições de stop-loss e take-profit podem ser otimizadas para melhorar a robustez e adaptabilidade da estratégia.


/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("YBS Strategy 1.1", overlay=true)

// Moving Average Settings
ma5 = ta.sma(close, 5)

// Scenario 1: Buy when a new candle opens above the MA5
buy_condition_scenario1 = open > ma5

// Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5
distance_from_ma5 = open - ma5
buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here

// Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price
sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price
sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price

// Execute buy and sell orders
if (buy_condition_scenario1 and not (strategy.opentrades > 0))
    strategy.entry("Buy Scenario 1", strategy.long)

if (buy_condition_scenario2 and not (strategy.opentrades > 0))
    strategy.entry("Buy Scenario 2", strategy.long)

if (sell_condition_scenario1)
    strategy.close("Buy Scenario 1")

if (sell_condition_scenario2)
    strategy.close("Buy Scenario 2")



Relacionados

Mais.