Estratégia de oscilação média TEMA alta e baixa


Data de criação: 2023-11-15 17:49:52 última modificação: 2023-11-15 17:49:52
cópia: 0 Cliques: 655
1
focar em
1617
Seguidores

Estratégia de oscilação média TEMA alta e baixa

Visão geral

Esta estratégia usa os três indicadores TEMA, VWMACD e HMA para capturar a tendência de queda do Bitcoin. Sua lógica principal é fechar a posição quando o VWMACD atravessa o eixo 0 e o preço está abaixo da linha média da HMA e a linha curta TEMA está abaixo da linha curta TEMA.

Princípios

Primeiro, calcule o VWMACD ((a única diferença entre o MACD normal e o VWMACD é a maneira de calcular a média móvel) e desenhe um gráfico em forma de coluna. Em seguida, adicione o HMA como um filtro de tendência. Em seguida, crie e adicione a linha rápida TEMA ((5 ciclos) e a linha lenta TEMA ((8 ciclos) e calcule o diferencial entre os dois e trace-o em torno do eixo 0.

As regras de entrada são: Cancelar quando o VWMACD estiver abaixo do eixo 0, o preço estiver abaixo da linha média HMA e o TEMA da linha rápida estiver abaixo do TEMA da linha lenta.

As regras de saída são: quando o VWMACD atravessa o eixo 0 e o preço é superior à linha média HMA ou a linha rápida TEMA atravessa a linha lenta TEMA.

Análise de vantagens

  • Utilização de três combinações de indicadores para melhorar a fiabilidade dos sinais de negociação
  • VWMACD pode identificar desvios de tendências e fornecer um julgamento mais preciso
  • HMAfilt como um filtro de tendência para evitar a confusão do ruído
  • A carteira TEMA, para capturar a inversão de curto prazo
  • Parâmetros de curto período, adequados para negociação de alta frequência, para capturar tendências de queda de curto prazo

Análise de Riscos

  • Combinação de múltiplos indicadores, configuração de parâmetros mais complexa, que requer experiência de ajuste
  • O filtro HMA não impede a falsa ruptura de um mercado em turbulência
  • Os parâmetros de curto período são facilmente perturbados pelo ruído do mercado, com sinais de falha
  • A necessidade de um controlo rigoroso do stop loss para evitar perdas maiores do que o esperado
  • Os custos de transação devem ser controlados, pois as transações de alta frequência podem ser prejudicadas pela fricção de taxas.

Direção de otimização

  • Pode testar combinações de parâmetros em diferentes períodos para encontrar o melhor parâmetro
  • Outros indicadores podem ser adicionados, como RSI, KD, etc.
  • Parâmetros adaptáveis podem ser usados de acordo com diferentes condições de mercado
  • Pode-se otimizar estratégias de stop loss, como o stop loss movido pelo preço
  • Combinação de indicadores de energia para evitar falsos avanços de energia insuficiente

Resumir

Esta estratégia usa uma combinação de VWMACD, HMA e TEMA rápido, Ziel para capturar a tendência de queda de curto prazo do bitcoin. Sua vantagem é que o sinal é mais confiável e adequado para negociação de alta frequência. Mas também há o risco de ajuste de parâmetros complexos, suscetíveis a interferência de ruído.

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

//@version=4
strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)
    

slow = input(13, "Short period")
fast = input(21, "Long period")
signal = input(5, "Smoothing period")

Fast = ema( volume * close, fast ) / ema( volume, fast ) 
Slow = ema( volume * close, slow ) / ema( volume, slow ) 
Macd = Slow - Fast 
Signal = ema(Macd, signal) 
Hist=Macd-Signal
plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram)
plot(0, color=color.red)

length = input(400, minval=1, title = "HMA")
hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length)))

tema_length_1 = input(5, "Fast moving TEMA")
tema_length_2 = input(8, "Slow moving TEMA")


tema(sec, length)=>
    tema1= ema(sec, length)
    tema2= ema(tema1, length)
    tema3= ema(tema2, length)
    tema = 3*tema1-3*tema2+tema3

tema1 = tema(hlc3, tema_length_1)
tema2 = tema(hlc3, tema_length_2)

threshold  = 0
tm = tema1 - tema2
plot_fast = plot(tm, color = tm > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

up =  crossover(tm, 0) 
down = crossunder(tm, 0)

longCondition =  (Hist < 0) and hullma > close and (tema1 < tema2)  and _testPeriod() 
strategy.entry('BUY', strategy.short, when=longCondition)  
 
shortCondition =  (Hist > 0) or hullma < close or up
strategy.close('BUY', when=shortCondition)


// Take profit  
tp = input(1, type=input.float, title='Take Profit (%)')  
sl = input(4, type=input.float, title='Stop Loss (%)')  
strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))