Baseado na estratégia de média móvel dupla


Data de criação: 2024-02-21 14:43:26 última modificação: 2024-02-21 14:43:26
cópia: 0 Cliques: 606
1
focar em
1617
Seguidores

Baseado na estratégia de média móvel dupla

Visão geral

Esta estratégia usa a dupla média móvel para formar um canal para capturar a direção da tendência. Quando o preço quebra o canal, um sinal de negociação é produzido. Ao mesmo tempo, a combinação do indicador RSI filtra as brechas falsas.

Princípio da estratégia

A estratégia usa duas médias móveis de 5 de comprimento, uma calculada a partir do preço mais alto e outra a partir do preço mais baixo, formando um canal de preços. Quando o preço de fechamento quebra o canal acima, faz mais, e quando o canal é quebrado, faz menos.

Para filtrar brechas falsas, também introduz o indicador RSI para julgar sobrecompra e venda excessiva. Apenas faça mais quando o RSI estiver acima de 80 e faça menos quando estiver abaixo de 20.

Além disso, a estratégia só é negociada durante o horário de negociação de Londres (das 3h às 11h), com um máximo de 5 pedidos por dia, com um máximo de perda de não mais do que 2% do direito de propriedade sobre a ação.

Análise de vantagens

Capturar tendências

As médias móveis duplas constroem canais de tendência e ajudam a determinar melhor a direção da tendência de preços. Quando o preço sobe, ele capta a tendência de alta do preço; Quando o preço desce, ele capta a tendência de queda.

Redução de brechas falsas

A combinação com o RSI para determinar áreas de sobrevenda e sobrecompra pode reduzir, em certa medida, as falsas rupturas causadas pela oscilação dos preços.

Controle eficaz dos riscos

A estratégia de negociar apenas nos principais períodos de negociação ativos, com um máximo de 5 pedidos por dia, permite um controle efetivo da frequência de negociação; a configuração de perda máxima de 2% permite o controle da perda máxima diária dentro do alcance aceitável.

Análise de Riscos

Risco de ruptura falsa em caso de alta de preços

Quando ocorrem grandes oscilações de preços, pode ocorrer algum falso sinal de ruptura, o que pode levar a perdas desnecessárias de negociação. O risco pode ser reduzido ao ajustar os parâmetros de otimização ou ao aumentar as condições de filtragem.

O Stop Loss fixo impede que você se arrisque

A estratégia usa um stop loss de um número fixo de pontos. Quando os preços são muito flutuantes, o stop loss de um número fixo de pontos é facilmente bloqueado, respondendo com um stop loss percentual ou dinâmico.

Risco de período de negociação limitado

A estratégia de abrir posições apenas em um período de negociação fixo, se não se produzir um sinal nesse período, perderá oportunidades de negociação em potencial em outros períodos. Pode-se considerar a expansão apropriada do tempo de negociação ou o ajuste dinâmico de acordo com a situação em tempo real.

Direção de otimização

Optimização de parâmetros

Pode-se otimizar o comprimento da média móvel, o parâmetro RSI, o número de pontos de parada de perda fixa, etc., para encontrar a combinação de parâmetros ideal.

Adicionar condições de filtragem

Pode-se adicionar outros indicadores ou condições para a segunda verificação de sinais de ruptura, como aumentar o volume de transação, reduzir o canal de linhas de Brincadeira, etc., para reduzir as falsas rupturas.

Paragem dinâmica

Pode-se adotar uma estratégia de stop-loss percentual ou de stop-loss dinâmico, em vez de um simples stop-loss de pontos fixos, melhor para proteger o risco de uma ação unilateral.

Juntamente com o juízo artificial.

Verifique o sinal manualmente, ou entre somente após a confirmação da brecha, para evitar ser bloqueado.

Resumir

Esta estratégia é geralmente mais simples e prática, através da construção de uma média móvel dupla para determinar a direção da tendência; ao mesmo tempo, o indicador RSI pode filtrar efetivamente alguns falsos rompimentos. Em termos de controle de risco, limitar o tempo de negociação e a perda máxima pode controlar o risco geral. O espaço de otimização é relativamente grande e pode ser melhorado em termos de otimização de parâmetros, atualização do mecanismo de parada de perda e assim por diante.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-16 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21
//@version=4
strategy(title="Moving Average", shorttitle="MA", overlay=true)
timeinrange(res, sess) => time(res, sess) != 0
len = input(5, minval=1, title="Length")
src = input(high, title="Source")
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out = sma(src, len)
plot(out, color=color.white, title="MA", offset=offset)

len2 = input(5, minval=1, title="Length")
src2 = input(low, title="Source")
offset2 = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
out2 = sma(src2, len2)
plot(out2, color=color.white, title="MA", offset=offset2)

length = input( 5 )
overSold = input( 10 )
overBought = input( 80 )
price = input(close, title="Source RSI")

vrsi = rsi(price, length)

longcond= close > out and close > out2 and vrsi > overBought
shortcont = close < out and close < out2 and vrsi < overSold
tp=input(150,title="tp")
sl=input(80,title="sl")


strategy.entry("long",1,when=longcond)
//strategy.close("long",when= close < out2)
strategy.exit("long_exit","long",profit=tp,loss=sl)

strategy.entry("short",1,when=shortcont)
//strategy.close("short",when=close >out)
strategy.exit("short_exit","short",profit=tp,loss=sl)

// maxOrder = input(6, title="max trades per day")
// maxRisk = input(2,type=input.float, title="maxrisk per day")
// strategy.risk.max_intraday_filled_orders(maxOrder)

// strategy.risk.max_intraday_loss(maxRisk, strategy.percent_of_equity)


// strategy.close_all(when =not timeinrange(timeframe.period, "0300-1100"))