Estratégia de negociação de tendência de reversão da média da seção áurea


Data de criação: 2023-12-07 11:03:20 última modificação: 2023-12-07 11:03:20
cópia: 1 Cliques: 636
1
focar em
1619
Seguidores

Estratégia de negociação de tendência de reversão da média da seção áurea

Visão geral

A estratégia de negociação de retorno de tendência da média divisória em ouro, usando o indicador de canal e a média móvel para identificar a direção de tendência mais forte, pode abrir posições na direção da tendência após uma certa reversão proporcional nos preços. A estratégia é adequada para mercados com características de tendência mais fortes e pode obter um bom desempenho em situações de tendência.

Princípio da estratégia

Os indicadores centrais da estratégia incluem indicadores de canal, médias móveis e linhas de desencadeamento de retorno.

  1. Os indicadores de corredores são compostos de preços máximos e mínimos para identificar corredores de preços;
  2. As médias móveis são usadas para determinar a direção da tendência geral dos preços.
  3. A linha de retorno é usada para abrir posições após a reversão de uma determinada proporção do preço da borda do canal.

Quando o preço toca o fundo do canal, a estratégia registra o ponto mais baixo como ponto de referência e define um símbolo de permissão de fechamento. Quando o preço sobe, uma vez que a amplitude de alta atinja a proporção de retorno, uma posição vazia será aberta perto do ponto de rebote.

Em vez disso, quando o preço toca o topo do canal, a estratégia registra o ponto mais alto como ponto de referência e configura um sinal de que é permitido fazer mais. Quando o preço cai, se a queda atinge o requisito da proporção de retorno, abre-se mais posições perto desse ponto.

Portanto, a lógica de negociação da estratégia é seguir o canal de preços e escolher o ponto apropriado para intervir na tendência existente quando um sinal de reversão aparece. Esta é uma abordagem comum de estratégias de negociação de retorno de tendência.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O que é um bom desempenho em um cenário de forte tendência?
  2. A rigidez de entrada da estratégia pode ser ajustada por meio de um parâmetro de proporção de retrocesso;
  3. Controle de retirada razoável para limitar perdas individuais.

Concretamente, uma vez que a estratégia abriu posições principalmente em pontos de reversão de tendência, ela é mais eficaz em mercados onde a volatilidade dos preços é maior e a tendência é evidente. Além disso, o ajuste dos parâmetros da proporção de reajuste pode controlar o grau de radicalidade da estratégia de acompanhamento de tendências. Finalmente, o controle de perdas individuais pode ser bem controlado por meio de stop loss.

Análise de Riscos

A estratégia também apresenta os seguintes principais riscos:

  1. A estratégia é mais sensível às características de tendência das variedades negociadas;
  2. A configuração inadequada da proporção de reajuste pode levar a ser demasiado radical ou conservador.
  3. O risco de um longo período de detenção é o risco de uma noite de trabalho.

Concretamente, se a variedade de negociação usada pela estratégia for de tendência fraca e com pouca volatilidade, o efeito pode ser descontado. Além disso, a configuração de proporção de retorno muito grande ou pequena pode afetar o desempenho da estratégia. Finalmente, como o intervalo de tempo de posse da estratégia pode ser longo, também é necessário prestar atenção ao controle do risco durante a noite.

Para evitar esses riscos, considere otimizar os seguintes aspectos:

  1. Selecionar variedades de transações com características de tendência mais evidentes;
  2. Ajustar o Parameter de Redução de Proporção para encontrar a melhor combinação de parâmetros;
  3. Configure o Stop Stop Exit para controlar o tempo de detenção razoavelmente.

Resumir

A estratégia de negociação de tendência de retorno da média média divisória do ouro, através de indicadores simples para determinar a tendência de preços e sinais de retorno, abrindo a tendência de seguimento de posições em condições de forte, pertence a um sistema de tendência mais típico. A estratégia tem um grande espaço para ajustar os parâmetros e pode ser adaptada a mais condições de mercado através da otimização, e o controle de risco também é mais razoável. Portanto, é uma estratégia de otimização que vale a pena testar e melhorar.

Código-fonte da estratégia
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//
// A port of the TradeStation EasyLanguage code for a mean-revision strategy described at
//     http://traders.com/Documentation/FEEDbk_docs/2017/01/TradersTips.html
//
// "In “Mean-Reversion Swing Trading,” which appeared in the December 2016 issue of STOCKS & COMMODITIES, author Ken Calhoun
//  describes a trading methodology where the trader attempts to enter an existing trend after there has been a pullback. 
//  He suggests looking for 50% pullbacks in strong trends and waiting for price to move back in the direction of the trend
//  before entering the trade."
//
//  See Also:
//    - 9 Mistakes Quants Make that Cause Backtests to Lie (https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/)
//    - When Backtests Meet Reality (http://financial-hacker.com/Backtest.pdf)
//    - Why MT4 backtesting does not work (http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020)
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy("Mean-Reversion Swing Trading Strategy v1", shorttitle="MRST Strategy v1", overlay=true)
channel_len  = input(defval=20, title="Channel Period", minval=1)
pullback_pct = input(defval=0.5, title="Percent Pull Back Trigger", minval=0.01, maxval=1, step=0.01)
trend_filter_len = input(defval=50, title="Trend MA Period", minval=1)


upper_band = highest(high, channel_len)
lower_band = lowest(low, channel_len)
trend      = sma(close, trend_filter_len)

low_ref  = 0.0
low_ref  :=  nz(low_ref[1])
high_ref = 0.0
high_ref := nz(high_ref[1])
long_ok  = false
long_ok  := nz(long_ok[1])
short_ok = false
short_ok := nz(short_ok[1])
long_ok2 = false
long_ok2  := nz(long_ok2[1])

if (low == lower_band)
    low_ref  := low
    long_ok  := false
    short_ok := true
    long_ok2 := false

if (high == upper_band)
    high_ref := high
    long_ok  := true
    short_ok := false
    long_ok2  := true

// Pull Back Level
trigger = long_ok2 ? high_ref - pullback_pct * (high_ref - low_ref) : low_ref + pullback_pct * (high_ref - low_ref)

plot(upper_band, title="Upper Band", color=long_ok2?green:red)
plot(lower_band, title="Lower Band", color=long_ok2?green:red)
plot(trigger, title="Trigger", color=purple)
plot(trend, title="Trend", color=orange)

enter_long = long_ok[1] and long_ok and crossover(close, trigger) and close > trend and strategy.position_size <= 0
enter_short = short_ok[1] and short_ok and crossunder(close, trigger) and close < trend and strategy.position_size >= 0

if (enter_long)
    long_ok := false
    strategy.entry("pullback-long", strategy.long, stop=close, comment="pullback-long")
else
    strategy.cancel("pullback-long")

if (enter_short)
	short_ok := false
    strategy.entry("pullback-short", strategy.short, stop=close, comment="pullback-short")
else
    strategy.cancel("pullback-short")

strategy.exit("exit-long", "pullback-long", limit=upper_band, stop=lower_band)
strategy.exit("exit-short", "pullback-short", limit=lower_band, stop=upper_band)