Estratégia de negociação da média móvel do rácio dourado

Autora:ChaoZhang, Data: 2024-01-05 14:21:52
Tags:

img

Resumo

A estratégia de negociação da média móvel do rácio dourado é uma estratégia de negociação quantitativa que tenta usar a cruz de ouro das médias móveis de curto e longo prazo como sinais de negociação.

Estratégia lógica

A estratégia é baseada principalmente em duas médias móveis: a MA de 200 dias como a MA de longo prazo e a MA de 10 dias como a MA de curto prazo. Um sinal de compra é gerado quando a MA de curto prazo cruza a MA de longo prazo; Um sinal de venda é gerado quando a MA de curto prazo cruza abaixo da MA de longo prazo. Esta é a famosa cruz de ouro . A estratégia também incorpora o indicador RSI para que a estratégia apenas abra posições longas na área de sobrevenda quando o RSI for inferior a 30.

Especificamente, uma posição longa será aberta se estiverem preenchidas as seguintes condições:

  1. O valor da posição em risco deve ser calculado em função da posição em risco.
  2. Atualmente sem posição
  3. RSI inferior a 30

As condições de encerramento da posição são as seguintes:

  1. Stop loss: quando o preço cai abaixo de uma certa percentagem (ajustável) do preço de abertura
  2. Obter lucro: obter lucro quando o preço exceder uma certa percentagem (ajustável)

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. Utiliza o sinal de cruz dourada das médias móveis, que é um sinal de negociação de indicador técnico clássico e eficaz
  2. Incorporar o RSI evita a compra nos máximos, o que pode controlar os riscos até certo ponto.
  3. Com as configurações de stop loss e take profit, pode bloquear os lucros e evitar riscos

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. As estratégias de média móvel são propensas a gerar sinais errados e erros
  2. O RSI pode falhar em alguns mercados de forte tendência
  3. Se o stop loss for demasiado baixo, pode levar a negociações de curto prazo e a uma ativação frequente do stop loss

Para reduzir estes riscos, podem ser consideradas as seguintes medidas de otimização:

  1. Ajustar os parâmetros de MA ou adicionar mais MA
  2. Incorporar outros indicadores para confirmar os sinais RSI
  3. Ajustar as configurações do parâmetro stop loss e take profit

Orientações de otimização

A estratégia pode ser ainda melhorada:

  1. Aumentar mais filtros de indicadores para evitar sinais errados
  2. Otimizar os parâmetros da média móvel
  3. Incorporar indicadores de volatilidade para definir paradas dinâmicas
  4. Adicionar modelos de aprendizagem de máquina para julgar as condições do mercado
  5. Usar algoritmos para otimizar automaticamente parâmetros

Conclusão

Em resumo, a estratégia de negociação da média móvel da proporção dourada é uma estratégia simples e eficaz de tendência. Ela gera oportunidades de negociação usando sinais de cruzamento MA clássicos e tem paradas para controlar riscos. A estratégia pode ser melhorada através de combinações de múltiplos indicadores, otimização de parâmetros, aprendizado de máquina, etc. para obter um melhor desempenho da estratégia.


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
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/
// © tsujimoto0403

//@version=5
strategy("聖杯", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//ユーザーインプットの準備
malongperiod=input.int(200,"長期移動平均BASE200",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10",group = "パラメータ")
stop=input.int(20,title = "損切の割合%",group = "パラメータ")
profit=input.int(5,title = "利食いの割合%",group = "パラメータ")
startday=input(title="バックテストを始める日", defval=timestamp("01 Jan 2018 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")

//使う変数
var float stopprice=0
var float takeprofit=0

//とりあえず使うインジケーターをプロット
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)


plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
bgcolor(ta.rsi(close,3)<30?color.rgb(229, 86, 86, 48):na)

//期間条件
datefilter = true

//エントリー条件
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30
    strategy.entry(id="long", direction=strategy.long)

if strategy.position_size>0 
    strategy.exit(id="long",stop=(1-0.01*stop)*strategy.position_avg_price)

//売り
if  strategy.position_size > 0 and close>mashort and close<low[1] 
    strategy.close(id ="long")




Mais.