
Moving Average Pullback Trading Strategy é uma estratégia de negociação em direção à tendência. Utiliza a relação entre as médias móveis de longo e curto prazo para determinar a direção da tendência geral e, em retracções de curto prazo, compra em baixa, com o objetivo de parar e parar.
A estratégia tem como principais regras de julgamento:
Com essa combinação de julgamentos, podemos estabelecer posições que aproveitem as oportunidades de ajustes de curto prazo, desde que a direção da tendência esteja de acordo com as expectativas.
A principal vantagem dessa estratégia é que ela só opera a transação multi-cabeça sob a expectativa de uma grande tendência, evitando efetivamente o risco de um mercado em choque. Ao mesmo tempo, ela aproveita o momento de um retorno da média de curto prazo para comprar, o que permite entrar no mercado a um preço comparativamente bom.
Além disso, a estratégia estabelece um mecanismo de stop loss e stop-loss. Isso permite que, mesmo com um erro de julgamento, a tendência inversa possa ser controlada por stop loss; e depois de lucrar, bloqueie parte do lucro por stop-loss.
Embora a estratégia tenha em conta o discernimento de grandes tendências e a configuração de stop-loss, existem alguns riscos:
O risco de erro de julgamento de tendências de longo prazo. Quando o julgamento é feito após a entrada de um mercado de ativos, mas na verdade o mercado mudou de ativos para oscilações ou para ativos vazios, isso pode causar maiores perdas.
O risco de um stop loss ser seguido. Em particular, quando ocorrem eventos negativos significativos, o mercado pode saltar para cima e para baixo, ultrapassando a linha de stop loss pré-estabelecida, resultando em perdas que não podem ser controladas.
Em contrapartida, podemos considerar algumas maneiras de reduzir o risco:
Faça uma boa análise de mercado para evitar erros de tendência entre os períodos de turbulência. Ou configure uma média móvel de períodos mais longos para confirmar a tendência geral.
O uso de uma opção condicional, em vez de uma simples opção de stop loss, para desencadear a posição de equilíbrio quando o mercado salta para baixo, pode até certo ponto evitar que a opção de stop loss seja perseguida.
Considerando que a estratégia é caracterizada por um julgamento de linha longa e uma entrada de linha curta, podemos melhorar ainda mais a partir de algumas coisas:
Optimizar os parâmetros periódicos das médias móveis para encontrar a melhor combinação de parâmetros
Adicionar outros indicadores de julgamento. Por exemplo, adicionar a análise de volume de transação, ou combinar outros indicadores de sobrecompra com base no indicador RSI
Ajustar a amplitude do stop loss em tempo real. Podemos fazer ajustes de adaptação de acordo com a volatilidade do mercado, com flexibilização apropriada da amplitude do stop loss em caso de grande volatilidade
Testar a adequação de variedades de diferentes padrões. Este tipo de estratégia pode ser mais adequado para produtos de índice, e outras regras de filtragem devem ser adicionadas se forem usadas individualmente.
A estratégia de negociação de retorno de média móvel é, em geral, uma estratégia mais madura e estável. Considera principalmente as grandes tendências e as oportunidades de retração de curto prazo, obtendo melhores momentos de entrada, com a premissa de não seguir em frente. Ao mesmo tempo, bloqueia os lucros e controla os riscos com a configuração de stop loss.
/*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"}]
*/
// 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("simple pull back", overlay=true,default_qty_type=strategy.percent_of_equity,
default_qty_value=100)
//input value
malongperiod=input.int(200,"長期移動平均BASE200/period of long term sma",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10/period of short term sma",group = "パラメータ")
stoprate=input.int(5,title = "損切の割合%/stoploss percentages",group = "パラメータ")
profit=input.int(20,title = "利食いの割合%/take profit percentages",group = "パラメータ")
startday=input(title="バックテストを始める日/start trade day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日/finish date day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")
//polt indicators that we use
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)
plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
//date range
datefilter = true
//open conditions
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)
//sell conditions
strategy.exit(id="cut",from_entry="long",stop=(1-0.01*stoprate)*strategy.position_avg_price,limit=(1+0.01*profit)*strategy.position_avg_price)
if close>mashort and close<low[1] and strategy.position_size>0
strategy.close(id ="long")