O recurso está a ser carregado... Carregamento...

Estratégia de média móvel com objectivo de lucro dinâmico

Autora:ChaoZhang, Data: 2023-09-18 21:46:47
Tags:

Resumo

Esta estratégia identifica a tendência usando médias móveis, obtém lucro em múltiplos ATR fixos e dimensionam dinamicamente as posições com base no ATR.

Princípios

A estratégia usa a média móvel simples de comprimento N para determinar a direção da tendência.

Após a entrada, o objetivo de lucro é fixado em múltiplos ATR fixos a partir do preço de entrada, por exemplo, Objetivo de lucro = Preço de entrada + ATR * Fator para compras.

A estratégia também diminui as posições inversamente ao ATR, que representa a volatilidade do mercado.

Vantagens

  1. A MA identifica a tendência, permitindo a sua sequência.

  2. A ATR obtém lucros com base nas tendências, evitando reversões.

  3. O dimensionamento dinâmico das posições gere o risco de acordo com a volatilidade do mercado.

  4. Fator de lucro e parâmetros de dimensionamento personalizáveis.

  5. O stop loss pode limitar ainda mais os riscos.

Riscos e atenuações

  1. O atraso de MA pode causar entrada tardia.

  2. As flutuações do ATR podem resultar em metas de lucro muito pequenas ou grandes.

  3. A volatilidade excessiva leva a posições muito pequenas limitando os lucros.

  4. A ausência de stop loss pode aumentar o risco de perda descontrolada.

  5. A seleção de símbolos inadequada, por exemplo, ativos de baixa volatilidade, pode levar a um baixo desempenho.

Oportunidades de melhoria

  1. Teste diferentes combinações de parâmetros para obter configurações ideais.

  2. Melhorar a lógica de entrada adicionando outros indicadores como filtro.

  3. Pesquise a tomada de lucro dinâmico e stop loss para flexibilidade.

  4. Gerenciar posições com base em indicadores de volatilidade.

  5. Adicionar um mecanismo de reentrada para prolongar o período de retenção.

Resumo

A estratégia identifica a tendência com médias móveis, obtém lucro em múltiplos de ATR e posições de tamanhos por ATR. Tem alguma tendência após a capacidade e o risco pode ser ajustado através de parâmetros. Mas existem problemas de seleção de parâmetros e metas de lucro.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 5m
basePeriod: 1m
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/
// © dongyun

//@version=4
strategy("利润目标止损的移动平均线", overlay=true)

period = input(80,'')
ptper = input(252,'')
ptfactor = input(12,'')
sizeper = input(20, '')

trend = 0.0
signal = 0
size = 1.0
investment = 100000
atrange = 0.0
ptrange = 0.0
stoph = 0.0
stopl = 0.0


if sizeper != 0
	atrange := atr(sizeper)

if atrange == 0 or sizeper == 0 
	size := 1
else
	size := investment/atrange * 0.1

trend := sma(close,period)


if signal != 1 and nz(trend[1]) < nz(trend[2]) and trend > nz(trend[1])
	strategy.entry('long',strategy.long, comment='open_long')
	signal := 1
else
    signal := nz(signal[1])
    
if signal != -1 and nz(trend[1]) > nz(trend[2]) and trend < nz(trend[1])
	strategy.entry('short',strategy.short, comment='open_short')
	signal := -1
else
    if signal == 0
        signal := nz(signal[1])

ptrange := atr(ptper)

if strategy.position_size > 0
	strategy.exit("exit_long", "long", qty = strategy.position_size, limit = close + ptfactor*ptrange , comment='trail_long') 
else
	if strategy.position_size < 0
		strategy.exit("exit_short", "short", qty = abs(strategy.position_size), limit = close - ptfactor*ptrange, comment='trail_short')


Mais.