A ideia central desta estratégia é comparar a média móvel do casco (HMA) com os valores do candelabro para gerar sinais de compra e venda.
Em primeiro lugar, a estratégia calcula o HMA de um determinado período usando a função hma ((). Em seguida, obtém o preço de abertura do candelabro anterior como referência. Se o HMA for maior do que o preço de abertura da vela anterior, um sinal de compra é gerado. Se o HMA for menor do que o preço de abertura da vela anterior, um sinal de venda é gerado.
As condições de entrada são que o preço precisa quebrar o HMA na direção oposta antes de entrar no mercado. Isso significa que ele vai comprar apenas quando o preço quebra acima do HMA de baixo. Ele vai vender apenas quando o preço quebra abaixo do HMA de cima. Isso evita ser espancado por mercados oscilantes.
As condições de saída são para parar a perda quando o preço cai de volta para o outro lado da HMA. Por exemplo, se o preço cai abaixo da HMA após a compra, ele vai parar a venda com perda.
Em resumo, esta estratégia identifica a principal direção da tendência usando a suavidade do HMA para gerar sinais.
Usando HMA em vez de SMA pode identificar melhor tendências e filtrar ruído.
O mecanismo de fuga pode reduzir a probabilidade de ser preso e abrir posições repetitivas.
Adotar o preço anterior da vela em vez do preço atual evita o ajuste da curva.
As regras são simples e claras, adequadas para otimização de parâmetros e negociação de robôs.
Pode ser aplicado de forma flexível a qualquer instrumento e período de tempo, com universalidade.
A definição inadequada dos parâmetros HMA pode deixar de lado tendências ou ser demasiado sensível.
Confiar em um único indicador é suscetível de ser interrompido por tentativas de ruptura, considere combinar outros indicadores para filtrar sinais.
O stop loss está muito perto da HMA, pode ser preso novamente por uma ruptura subsequente.
Incapaz de determinar a direcção e a força da tendência.
O stop loss fixo causa uma grande flutuação no risco/recompensa.
Esta estratégia é relativamente simples e prática em geral, com uma idéia central clara. Identifica a tendência principal com HMA e filtra sinais falsos com ruptura. Evita ser esmagado por mercados agitados. A otimização adequada de parâmetros pode alcançar resultados decentes. No entanto, a confiabilidade e a taxa de vitória ainda são limitadas como uma única estratégia de indicador. Recomenda-se combinar com outros indicadores técnicos ou métodos de gerenciamento de dinheiro para melhorar significativamente a robustez.
/*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