Estratégia da Cruz Dourada da Cruz da Morte


Data de criação: 2023-10-11 16:33:18 última modificação: 2023-10-11 16:33:18
cópia: 0 Cliques: 432
1
focar em
1215
Seguidores

Visão geral

A estratégia usa o princípio do cruzamento dourado e da forca morta de uma média móvel simples para realizar posições longas e curtas de ações. Faça mais quando a linha rápida quebra a linha lenta a partir da direção inferior; faça menos quando a linha rápida quebra a linha lenta a partir da direção superior.

Princípio da estratégia

A estratégia define primeiro o tempo de início e fim da retomada e, em seguida, define os parâmetros de cálculo para as duas médias, incluindo o tipo de média e o comprimento do período.

Calcule o valor de duas médias com a função getMAType (). FastMA é a média de curto período e slowMA é a média de longo período.

A lógica central da estratégia é:

  • Quando o fastMA é colocado sobre o slowMA, é emitido um sinal de multiplicação de long;

  • Quando o MA rápido atravessa o MA lento, emite um sinal de curto.

Por fim, durante o período de retrospectiva, se houver sinais de excesso, a estratégia de posição longa é adotada; se houver sinais de excesso, a estratégia de posição vazia é adotada.

Análise de vantagens

  • A estratégia é clara, simples e fácil de entender.
  • O uso de um amplo princípio de equilátero-cruzamento é aplicável à maioria das variedades de ações.
  • Tipos e parâmetros de média personalizáveis e adaptáveis.
  • Uma estrutura de estratégia em forma de emblema, com funções definidas para facilitar a otimização posterior.

Análise de Riscos

  • O cruzamento de linhas médias tem um certo atraso, podendo perder algumas oportunidades de negociação.
  • O mercado de câmbio não é um filtro eficaz e é fácil de ser enganado.
  • A otimização de parâmetros não é um sistema abrangente e precisa de ajuda da experiência manual.
  • Não é possível controlar eficazmente o risco e os prejuízos de uma única transação.

A análise de risco pode ser melhorada nos seguintes aspectos:

  1. Adicionar filtros de outros indicadores técnicos para identificar tendências.

  2. Aumentar as estratégias de stop loss e controlar as perdas individuais.

  3. A introdução de indicadores quantitativos de energia, etc., para evitar arbitragem em mercados de turbulência.

  4. Estabelecer mecanismos de otimização de parâmetros para encontrar automaticamente a melhor combinação de parâmetros.

Direção de otimização

A estratégia pode ser melhorada em alguns aspectos:

  1. Aumentar as estratégias de stop loss, como definir pontos de stop loss fixos ou rastrear o stop loss e controlar os perdas.

  2. Aumentar as estratégias de gerenciamento de posições, como posições fixas, posições dinâmicas e controle de risco de negociação.

  3. Aumentar os filtros, em combinação com outros indicadores técnicos para identificar tendências e aumentar a taxa de vitórias.

  4. Optimizar a configuração de parâmetros, procurando os melhores parâmetros por meio de pesquisa de grelha, regressão linear e outros métodos.

  5. Expandir a estratégia de negociação de forex, como reversão de breakouts, construção de posições em lotes, etc.

  6. Aumentar os indicadores de potência para evitar ser preso em situações de tremores.

  7. A expansão da variedade de transações para futuros de índices de ações, divisas e moedas digitais.

Resumir

Esta estratégia é baseada no princípio de cruzamento de médias móveis para realizar a escolha de posições longas e curtas de ações. A estratégia é simples e clara, é amplamente utilizada, é adaptável e tem um certo valor prático. Mas a estratégia também possui um certo atraso e incapacidade de filtrar efetivamente oscilações.

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

//@version=4
//strategy("Golden X BF Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Time Frame ///////////////
testStartYear = input(2010, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() =>  true

///////////// MA Params /////////////
source1 = input(title="MA Source 1", defval=close)
maType1 = input(title="MA Type 1", defval="sma", options=["sma", "ema", "swma", "wma"])
length1 = input(title="MA Length 1", defval=50)

source2 = input(title="MA Source 2", defval=close)
maType2 = input(title="MA Type 2", defval="sma", options=["sma", "ema", "swma", "wma"])
length2 = input(title="MA Length 2", defval=200)

///////////// Get MA Function /////////////
getMAType(maType, sourceType, maLen) => 
    res = sma(close, 1)
    
    if maType == "ema"
        res := ema(sourceType, maLen)
    if maType == "sma"
        res := sma(sourceType, maLen)
    if maType == "swma"
        res := swma(sourceType)
    if maType == "wma"
        res := wma(sourceType, maLen)
    res
    
///////////// MA /////////////
fastMA = getMAType(maType1, source1, length1)
slowMA = getMAType(maType2, source2, length2)

long = crossover(fastMA, slowMA)
short = crossunder(fastMA, slowMA)

/////////////// Plotting /////////////// 
checkColor() => fastMA > slowMA
colCheck = checkColor() ? color.lime : color.red
p1 = plot(fastMA, color = colCheck, linewidth=1)
p2 = plot(slowMA, color = colCheck, linewidth=1)
fill(p1, p2, color = checkColor() ? color.lime : color.red)
bgcolor(long ? color.lime : short ? color.red : na, transp=20)

/////////////// Execution /////////////// 
if testPeriod()
    strategy.entry("Long", strategy.long, when=long)
    strategy.entry("Short", strategy.short, when=short)