Estratégia quantitativa Gradient MACD


Data de criação: 2023-12-19 16:14:50 última modificação: 2023-12-19 16:14:50
cópia: 0 Cliques: 713
1
focar em
1621
Seguidores

Estratégia quantitativa Gradient MACD

Visão geral

Esta estratégia é uma estratégia de negociação quantitativa que acompanha a tendência da linha média-longa através da computação da linha Heikin-Ashi, do preço da linha K suave e do sinal de negociação em combinação com o indicador MACD.

Princípio da estratégia

  1. Calcule o preço de abertura e de fechamento, o preço máximo e o preço mínimo do Heikin-Ashi, trace a linha Heikin-Ashi e suavize a linha K.

  2. Configure os parâmetros MACD: comprimento de linha rápida 12, comprimento de linha lenta 26, comprimento de linha de sinal 9.

  3. Calcule a diferença entre as linhas DEA lenta, DEA rápida e MACD. Desenhe um gráfico de coluna do MACD.

  4. Quando o MACD é superior a 0, faça mais; quando o MACD é inferior a 0, faça vazio.

  5. Configure filtros de ano, mês e dia para negociar apenas no período especificado.

Análise de vantagens

  1. O Heikin-Ashi filtra o ruído do mercado e identifica as tendências.

  2. O MACD fornece pontos de venda e compra de tendências mais claras.

  3. A combinação de Heikin-Ashi e MACD pode melhorar a qualidade dos pontos de compra e venda e aumentar a lucratividade dos trades.

  4. Configurar um filtro de tempo para determinar o melhor momento de negociação com base no histórico de dados, aumentando a taxa de ganho.

Análise de Riscos

  1. A tendência é de que os investidores que não têm dinheiro para investir em ações de investimento em ações de investimento, como o Bitcoin, possam perder muito dinheiro.

  2. Os parâmetros do MACD estão mal definidos e podem gerar muitos sinais inválidos.

  3. O filtro de tempo é muito rígido e pode fazer com que você perca oportunidades de negociação.

Resposta:

  1. Configure o Stop Loss Stop, para controlar perdas únicas.

  2. Otimizar os parâmetros MACD para determinar a melhor combinação de parâmetros.

  3. Combinado com outros indicadores, para avaliar as tendências locais.

Direção de otimização

  1. Teste diferentes combinações de parâmetros para encontrar o melhor.

  2. Adicionar mecanismos de stop loss, como deixar um stop loss / rastrear um stop loss.

  3. A mudança de tendência foi avaliada em função de indicadores como a EMA, o KDJ e outros.

  4. Adição de indicadores de energia, evitando a divergência de energia.

Resumir

Esta estratégia permite uma estratégia quantitativa baseada no acompanhamento de tendências, através do cálculo de preços de alinhamento Heikin-Ashi, em combinação com indicadores MACD Tradingview para determinar a direção da tendência e os pontos de entrada. Comparado com a estratégia MACD comum, ela suaviza a curva de preço, filtra parte do ruído e permite uma melhor determinação da direção da tendência. A combinação de otimização de parâmetros, mecanismos de parada e outros indicadores pode aumentar ainda mais a estabilidade e a lucratividade da estratégia.

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

//@version=4
strategy("MACD ASHI BARS .v1 ", overlay=false,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,slippage=1)

// Calculation HA Values 
haopen  = 0.0
haclose = (open + high + low + close) / 4
haopen := na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2
hahigh  = max(high, max(haopen, haclose))
halow   = min(low,  min(haopen, haclose))

// HA colors
hacolor = haclose > haopen ? color.green : color.red
src=haclose



fastmacd = input(12,title='MACD Fast  Line Length')
slowmacd = input(26,title='MACD Slow Line Length')
signalmacd = input(9,title='Signal Line Length')

macdslowline1 = sma(src,slowmacd)
macdslowline2 = sma(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = sma(src,fastmacd)
macdfastline2 = sma(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)

MACDLine = (DEMAfast - DEMAslow)

SignalLine = sma(MACDLine, signalmacd)

delta = MACDLine-SignalLine




swap1 = delta>0?color.green:color.red



plot(delta,color=swap1,style=plot.style_columns,title='Histo',histbase=0,transp=20)
p1 = plot(MACDLine,color=color.blue,title='MACD Line')
p2 = plot(SignalLine,color=color.red,title='Signal')
fill(p1, p2, color=color.blue)
hline(0)



yearfrom = input(2020)
yearuntil =input(2042)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)







if ( crossover(delta,0)  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND",  comment="AL")
    
else
    strategy.cancel(id="MMAL")


if (  crossunder(delta,0) and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND",  comment="SAT")
else
    strategy.cancel(id="MMSAT")