Estratégia de negociação quantitativa baseada na operação de média móvel mensal


Data de criação: 2023-12-15 11:49:06 última modificação: 2023-12-15 11:49:06
cópia: 2 Cliques: 654
1
focar em
1621
Seguidores

Estratégia de negociação quantitativa baseada na operação de média móvel mensal

Visão geral

Esta estratégia baseia-se principalmente em linhas médias de linhas lunares e trimestrais, especificamente a linha 20 como linha lunar, a linha 60 como linha trimestral, a fonte de sinais de estratégia é um forquilho de ouro em duas linhas médias. Quando a linha lunar atravessa a linha trimestral, o longing, forma um sinal de múltiplos cabeças; Quando a linha lunar atravessa a linha trimestral, o liquidação de liquidação é realizada.

Princípio da estratégia

Esta estratégia usa a média móvel simples de 20 dias como indicador da linha lunar e a média móvel simples de 60 dias como indicador da linha trimestral. A lógica de geração de sinais de negociação específicos é a seguinte:

  1. Quando a linha de 20 dias atravessa a linha de 60 dias, ou seja, quando ocorre o garfo de ouro, faça mais entrada.
  2. Quando o preço das ações retrocede mais de 10% em relação ao seu ponto mais alto nos últimos 10 dias, a posição de liquidação é suspensa.
  3. Quando a linha de 20 dias atravessa a linha de 60 dias, ou seja, quando ocorre um “dead fork”, a liquidação é feita.
  4. Quando o prejuízo chega a 10%, o jogo é encerrado.

A linha média é julgada através do cruzamento da linha lunar e da linha trimestral, o Gold Fork significa entrar no mercado de touro da linha média, e o Dead Fork significa entrar no mercado de urso da linha média. Ao mesmo tempo, o risco é controlado com a estratégia de stop loss.

Vantagens estratégicas

  1. Utilize a linha média da linha do mês, filtrando o ruído do mercado e capturando as tendências de linha média e longa.
  2. Os parâmetros da estratégia são simples e fáceis de implementar.
  3. Parâmetros de stop loss configuráveis para controlar o risco.

Análise de Riscos

  1. Não é possível determinar o ponto de reversão da tendência e há risco de perdas.
  2. A linha lunar e a linha quadrangular estão atrasadas, podendo perder oportunidades de linhas curtas.
  3. A escolha de um ponto de paragem adequado é necessária para evitar que a radicalização excessiva seja desviada.

Solução:

  1. A utilização de rastreamento móvel de stop loss, para parar os danos em tempo hábil.
  2. Combinado com outros indicadores, os sinais de filtragem determinam a tendência.
  3. Ajustar parâmetros de linha média, estratégias de otimização.

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

  1. Adicione filtros para outros indicadores, como o indicador KD, para evitar falsas brechas.
  2. Optimizar os parâmetros da linha média para encontrar a melhor combinação de períodos da linha média.
  3. Aumentar a estratégia de stop-loss, como o stop-loss móvel, para obter mais lucro.

Resumir

Esta estratégia Overall XXXXX sistemaatically aproveitar a vantagem da linha média da linha do mês, através da linha média do ouro e do prata do garfo para julgar a direção da tendência da linha média e longa. Ao mesmo tempo, configurar um mecanismo de controle de risco de parada e perda razoável. A estratégia de otimização é grande e vale a pena testar e otimizar ainda mais.

Código-fonte da estratégia
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30)
sma20 = sma(close, 20)
sma60 = sma(close, 60)

plot(sma20, title="月線", color=color.purple,linewidth=2)
plot(sma60, title="季線", color=color.yellow,linewidth=2)

backtest_year = input(title="backtest_year",type=input.integer,defval=2020)
backtest_month = input(title="backtest_month",type=input.integer,defval=10)
backtest_date = input(title="backtest_date",type=input.integer,defval=1)
backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0)

to_long = sma20 > sma60  and close > highest(10)*0.9 // 黃金交叉
to_close = sma20 < sma60 // 死亡交叉
to_exit = close < highest(10)*0.9 //股價嚴重回檔
to_stop = close < 0.9*strategy.position_avg_price 

// to_long = crossover(sma20, sma60)   // 黃金交叉
// to_close = crossunder(sma20, sma60) // 死亡交叉

//plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar)
//plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar)
//strategy.close("open long",when = tslide, comment="多單滑價7%出場")
if true
    strategy.entry("golden", strategy.long,  when=to_long,comment="多單入場")
    strategy.close("golden",  when=to_exit,comment="多單滑價7%出場")
    strategy.close("golden",  when=to_close,comment="月線季線死亡交叉")
    strategy.close("golden",  when=to_stop,comment="虧損10%強迫停損")