Estratégia de negociação baseada na média móvel de Hall e na linha K


Data de criação: 2023-09-21 10:31:58 última modificação: 2023-09-21 10:31:58
cópia: 0 Cliques: 762
1
focar em
1617
Seguidores

Visão geral

A ideia central desta estratégia é comparar a média móvel de Hull (Hull Moving Average, HMA) com a linha K para gerar um sinal de compra e venda. Compre quando a HMA está acima da linha K e venda quando a HMA está abaixo da linha K.

Princípios

Primeiro, a estratégia calcula o HMA de um determinado período com a função hma (). Em seguida, obtém o preço de abertura da linha K superior como referência de comparação. Se o HMA for superior ao preço de abertura da linha K superior, um sinal de compra é gerado; Se o HMA for inferior ao preço de abertura da linha K superior, um sinal de venda é gerado.

A condição de entrada para a estratégia é entrar apenas quando o preço quebra o HMA na direção oposta. Ou seja, só comprar quando o preço quebra o HMA abaixo; só vender quando o preço quebra o HMA acima. Isso evita que o mercado seja abalado por sinais de retorno.

A saída da estratégia é uma parada de perda quando o preço retorna para o outro lado do HMA. Por exemplo, se o preço de compra cair abaixo do HMA, a parada de perda é vendida.

Em geral, esta estratégia utiliza as características suaves da HMA para identificar as principais direções de tendência e gerar sinais. Ao mesmo tempo, exige que os preços se rompam para filtrar os falsos sinais, evitando ser repelidos pelas turbulências do mercado.

Análise de vantagens

  1. Usando HMA em vez de SMA, é possível identificar melhor as tendências, filtrando oscilações.

  2. O mecanismo de ruptura pode reduzir a probabilidade de ser apanhado e abrir posições repetidas.

  3. O uso de um preço de linha K anterior, em vez de um preço atual, evita a traçação de curva retrógrada.

  4. As regras são simples e claras, adequadas para otimização de parâmetros e negociação de robôs.

  5. Aplica-se de forma flexível em qualquer variedade e ciclo, sendo universal.

Riscos e melhorias

  1. A configuração inadequada do parâmetro HMA pode causar tendências erradas ou hipersensibilidade. Pode-se testar diferentes parâmetros de período para encontrar o melhor valor.

  2. Indicadores individuais são suscetíveis de serem re-examinados dentro da área de exclusão e podem ser considerados em combinação com outros indicadores para filtrar o sinal.

  3. O ponto de parada está próximo do HMA, sendo mais propenso a ser re-pertocado, podendo ser adequadamente afastado para o ponto de resistência de suporte.

  4. Não é possível avaliar a direção e a intensidade da tendência e considerar a inclusão de um indicador de classificação de tendências.

  5. O ponto de parada fixo causa uma grande flutuação de risco e receita, podendo ser experimentado com o bloqueio de perdas ou o gerenciamento de fundos.

Resumir

Esta estratégia é simples e prática, com uma ideia central clara. A HMA julga a direção da tendência principal, para quebrar o sinal de erro. O mercado de choque pode ser evitado repetidamente abrindo o portfólio. A otimização de parâmetros pode obter bons resultados.

Código-fonte da estratégia
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
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/
// © SeaSide420. Any timeFrame/pair , Hull Moving Average vs Candle
//@version=4
strategy("Hull Moving Average vs Candle",shorttitle="HMA-vs-Candle",overlay=true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.cash_per_order,commission_value=1.00,slippage=1)
Period=input(title="Hull MA Period",type=input.integer,defval=50,minval=1)
Resolution=input(title="Candle Resolution", type=input.resolution,defval="D")
Price=input(title="Source of Price",type=input.source,defval=open)
HMA=hma(Price,Period)
Candle=security(syminfo.tickerid,Resolution,Price,barmerge.gaps_off,barmerge.lookahead_off)
change_color=HMA>Candle?color.green:color.red
plot1=plot(Candle,color=change_color,title="Candle Line",linewidth=2,transp=50)
plot2=plot(HMA[1],color=change_color,title="Hull MA Line",linewidth=2,transp=50)
fill(plot1,plot2,color=change_color,transp=50)
strategy.close("BUY",when=Price<HMA and HMA<Candle,comment="close buy entry")
strategy.close("SELL",when=Price>HMA and HMA>Candle,comment="close sell entry")
if (Price>HMA and HMA>Candle and Price>Price[1])
    strategy.entry("BUY",strategy.long)
if (Price<HMA and HMA<Candle and Price<Price[1])
    strategy.entry("SELL",strategy.short)



//                                                                   /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//                                                                                        ~ priceless artwork by SeaSide420