Estratégia de negociação de pullback de média móvel de vários períodos


Data de criação: 2024-02-29 11:20:28 última modificação: 2024-02-29 11:20:28
cópia: 1 Cliques: 673
1
focar em
1617
Seguidores

Estratégia de negociação de pullback de média móvel de vários períodos

Visão geral

A estratégia usa o método de equilíbrio de vários quadros temporais, usando a média de longo prazo para determinar a direção da tendência geral, a média de curto prazo para determinar a direção da tendência de curto prazo, fazendo mais / menos quando a linha longa e a curta confirmam a tendência; Quando a linha curta retorna para a linha longa, julga que a oportunidade de entrada de ajuste de curto prazo é formada, e operação inversa é feita. A estratégia se aplica principalmente a ações de tendência de linha longa e média.

Princípio da estratégia

A estratégia usa a média móvel simples de 200 dias para determinar a direção da tendência de longo prazo e a média móvel simples de 10 dias para determinar a direção da tendência de curto prazo. Quando o preço da ação está acima da média de 200 dias e abaixo da média de 10 dias, isso significa que está em um período de alta da linha longa e correção da linha curta.

Especificamente, quando as seguintes condições são preenchidas, faça mais entrada: preço de fechamento> linha média de 200 dias e preço de fechamento < linha média de 10 dias; quando as seguintes condições são preenchidas, faça entrada de fechamento: preço de fechamento < linha média de 200 dias e preço de fechamento> linha média de 10 dias.

O mecanismo de parada de perda é definido após a entrada, e a saída de perda é interrompida se a retração do preço de compra for superior a 10%. Ao mesmo tempo, se a opção i_lowerClose for definida, será esperado até que o preço de fechamento mais baixo apareça, o que evitará que a parada de perda seja sensível.

Análise de vantagens

A estratégia, combinada com a linha média de vários quadros temporais, permite capturar a direção da tendência de linha média e longa com maior probabilidade. A estratégia deutsch oferece um melhor tempo de entrada quando a linha média de curto prazo retorna para a linha média de longo prazo. Em comparação com o sistema de linha média única, a probabilidade de ser ajustado devido a um ajuste de curto prazo pode ser reduzida.

A estratégia é controlada pelo risco. A estratégia é controlada pelo risco. A estratégia é controlada pelo risco. A estratégia é controlada pelo risco.

Análise de Riscos

A estratégia ainda tem o risco de ser encaixada. Quando o tempo de ajuste da linha curta é muito longo ou o ajuste é muito grande, pode desencadear o stop loss e ser encaixado.

A estratégia é pouco adequada para as variedades de negociação. Para ações de alta volatilidade e longo tempo de ajuste, a estratégia é facilmente detida e não é eficaz.

A estratégia também pode sofrer grandes perdas quando ocorrem grandes ajustes no mercado como um todo. Por exemplo, durante a crise financeira, a estratégia pode ser difícil de lucrar.

Direção de otimização

Pode-se introduzir mais sistemas de equilíbrio, formando um mecanismo de seleção múltipla. Por exemplo, a inclusão da linha de 50 dias, só é considerada a entrada quando o preço de fechamento está entre a linha de 50 dias e a linha de 200 dias. Isso pode selecionar ainda mais as variedades mais tendenciais.

Pode-se definir um stop-loss flutuante. Concretamente, após a entrada, pode-se definir um stop-loss variável de acordo com a amplitude de flutuação da ação, em vez de um stop-loss fixo de 10%. Isso reduz a probabilidade de que um stop-loss desnecessário seja acionado.

Pode ser combinado com outros indicadores para avaliar a situação do mercado. Por exemplo, o MACD, quando o MACD mostra uma saída do mercado, pode suspender a estratégia para evitar perdas. Isso pode controlar o início e o fechamento da estratégia de acordo com o julgamento do mercado maior.

Resumir

A estratégia em geral é uma estratégia de linha média típica de múltiplos quadros temporais. Combina a linha média de curto prazo com a probabilidade de capturar a tendência da linha média e, ao mesmo tempo, aproveitar as oportunidades de reversão da linha curta. O risco da estratégia também está dentro do controle.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © irfanp056
// @version=5

strategy("Simple Pullback Strategy", 
     overlay=true) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)