Estratégia de negociação de média móvel de proporção áurea


Data de criação: 2024-01-05 14:21:52 última modificação: 2024-01-05 14:21:52
cópia: 0 Cliques: 884
1
focar em
1617
Seguidores

Estratégia de negociação de média móvel de proporção áurea

Visão geral

A estratégia de negociação de médias móveis de divisão de ouro é uma estratégia de negociação quantitativa que tenta usar o cruzamento de ouro com médias móveis de curto prazo como sinal de negociação. A estratégia, em combinação com o indicador RSI, evita a abertura de posições em níveis altos locais para controlar o risco.

Princípio da estratégia

A estratégia baseia-se principalmente em duas médias móveis: a linha de 200 dias como a média de longo prazo, a linha de 10 dias como a média de curto prazo. Quando a média de curto prazo atravessa a média de longo prazo, gera um sinal de compra; Quando a média de curto prazo atravessa a média de longo prazo, gera um sinal de venda.

Em particular, uma posição de capital aberto é aberta se as seguintes condições forem cumpridas:

  1. A linha de 10 dias leva a linha de 200 dias.
  2. Sem posição atual
  3. RSI inferior a 30

As condições de equilíbrio são as seguintes:

  1. Parar: Parar quando o preço cai abaixo de uma certa proporção do preço de abertura (configurável)
  2. Parar: parar quando o preço excede um determinado percentual ((configurável)

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Utilizando o sinal de cruz de ouro de uma média móvel, um sinal de negociação de indicadores técnicos clássicos e eficazes
  2. Combinado com o RSI, evitar compras em alta pode controlar o risco até certo ponto
  3. Com parâmetros de stop loss e stop-loss, você pode bloquear o lucro e evitar riscos

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. As estratégias de média móvel são propensas a produzir sinais errados e reversões
  2. O RSI pode falhar em algumas situações fortes
  3. A configuração de parada de perda muito pequena pode levar a transações de linha ultra curta e frequentes.

Para reduzir esses riscos, considerem-se os seguintes pontos de otimização:

  1. Ajustar os parâmetros da linha média, ou adicionar mais linha média
  2. Indicadores de confirmação do RSI em combinação com outros
  3. Ajustar a configuração do parâmetro de parada de perda

Direção de otimização

A estratégia ainda tem espaço para ser melhorada:

  1. Adicionar mais filtros de indicadores para evitar sinais errados
  2. Optimizar o parâmetro da média móvel
  3. Definição de stop loss dinâmico combinado com um indicador de volatilidade
  4. Adicionar modelos de aprendizagem de máquina para avaliar o estado do mercado
  5. Parâmetros de otimização automática com algoritmos

Resumir

A estratégia de negociação de média móvel de divisão de ouro é, em geral, uma estratégia de acompanhamento de tendências simples e eficaz. Utiliza o sinal de cruzamento de linha uniforme clássico para gerar oportunidades de negociação e possui um stop loss para controlar o risco. A estratégia pode ser melhorada ainda mais por meio de combinações de vários indicadores, otimização de parâmetros e aprendizado de máquina, entre outros meios, para obter melhores resultados estratégicos.

Código-fonte 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")