A estratégia de fuga composta

Autora:ChaoZhang, Data: 2024-02-29 14:07:54
Tags:

img

Resumo

Esta estratégia calcula os preços mais altos e mais baixos das barras N recentes para definir condições de dupla ruptura combinadas com a linha média móvel para implementar uma estratégia de negociação de baixa compra e alta venda.

Princípios de estratégia

A estratégia baseia-se principalmente nos seguintes princípios:

  1. Calcular o preço mínimo baixo minLow dos últimos 7 bares para determinar a condição de compra de ruptura
  2. Calcule o preço máximo máximo máximo dos últimos 7 bares para determinar a condição de venda de ruptura
  3. Calcular a linha média móvel simples de 200 períodos mma para determinar a direção da tendência combinada com mma
  4. Condição de compra: o preço de fechamento atravessa o minLow e é superior ao mma
  5. Condição de venda: o preço de fechamento ultrapassa o valor maxHigh ou é superior ao valor maxHigh

Ao calcular os extremos das barras N recentes, ele julga se o mercado está extremamente sobrevendido ou sobrecomprado.

Análise das vantagens

A estratégia apresenta as seguintes vantagens:

  1. A definição de dupla condição torna os sinais de negociação da estratégia mais fiáveis
  2. Usando os extremos das linhas K para julgar o estado de sobrevenda e sobrecompra pode aproveitar a chance de reversão
  3. Combinar a linha média móvel para determinar a direção da tendência evita operações reversas
  4. Implementa a ideia de baixa compra e alta venda, que é consistente com a psicologia de negociação da maioria dos comerciantes
  5. A lógica da estratégia é simples e clara, fácil de compreender e implementar

Através da confirmação dupla, a qualidade do sinal da estratégia é relativamente alta e o espaço para otimização de parâmetros é grande, o que é adequado para diferentes ambientes de mercado.

Análise de riscos

A estratégia apresenta também alguns riscos:

  1. A dupla condição limita a frequência dos sinais, possivelmente perdendo algumas oportunidades comerciais
  2. Configurações incorretas do ciclo de cálculo para os extremos da linha K podem não determinar com precisão o estado de sobrevenda e sobrecompra
  3. Configurações incorretas dos parâmetros da linha da média móvel podem determinar incorretamente a direção da tendência
  4. Ele precisa otimizar vários parâmetros simultaneamente, tornando a otimização de parâmetros mais difícil

Estes riscos podem ser reduzidos ajustando os ciclos de computação, otimizando as combinações de parâmetros e outros métodos.

Orientações de otimização

A estratégia pode ser essencialmente otimizada nas seguintes direcções:

  1. Otimizar o ciclo de computação dos extremos da linha K para encontrar os parâmetros de ciclo mais adequados para determinar sobrecompra e sobrevenda
  2. Teste os efeitos das medias móveis de diferentes comprimentos
  3. Aumentar outros indicadores combinados, tais como canais BOLL, indicadores KD, etc.
  4. Aumentar as estratégias de stop loss para controlar o single stop loss
  5. Otimizar as condições de entrada e saída para melhorar a qualidade do sinal

Através da otimização de parâmetros, otimização de indicadores, otimização de controlo de riscos e outros meios, o fator de lucro da estratégia pode ser muito melhorado.

Resumo

Em geral, esta é uma estratégia de breakout muito prática. Calculando extremos de linhas K para determinar o estado de sobrevenda e sobrecompra, usando linha média móvel para determinar a direção da tendência, definindo condições de filtragem dupla para filtrar falsos sinais, implementa estratégias de baixa compra e alta venda de alta qualidade. Ao otimizar ciclos de computação, adicionando outros indicadores e outros meios, o efeito da estratégia pode ser ainda melhorado. A estratégia é adequada para os iniciantes aprenderem e os comerciantes profissionais otimizarem e usarem.


/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

value1 = input(7, title="Quantity of day low")
value2 = input(7, title="Quantity of day high")
entry = lowest(close[1], value1)
exit = highest(close[1], value2)

lengthMMA = input(200, title="Length of SMA", minval=1)
mma = sma(close, lengthMMA)

// Calcular el mínimo de los precios bajos de las últimas 'value1' velas
minLow = lowest(low, value1)

// Calcular el máximo de los precios altos de las últimas 'value2' velas
maxHigh = highest(high, value2)

// Test Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

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

testPeriod() => true

if testPeriod()
    // Condiciones de entrada
    conditionMet = (close > mma) and (close < entry) and (low == minLow)
    strategy.entry("Buy", strategy.long, when=conditionMet)
    
    if conditionMet
        label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar)
    
    // Condiciones de salida
    conditionExit = close > exit or close > maxHigh
    strategy.close("Buy", when=conditionExit)


Mais.