A estratégia de acompanhamento de tendências é uma estratégia de negociação de seguimento de tendências baseada em médias móveis. A estratégia usa um cruzamento de médias móveis de índices (EMA) e médias móveis oscilantes (HMA) para determinar a direção da tendência do mercado e gerar sinais de compra e venda correspondentes. A estratégia se aplica à negociação de tendências de linha curta e média, com o objetivo de seguir tendências de preços em períodos mais longos, em vez de oscilações de curto prazo.
A estratégia usa duas médias móveis de diferentes parâmetros: uma EMA de curto período e uma HMA de longo período. A EMA responde mais rapidamente às mudanças de preço para determinar a tendência de curto prazo; A HMA responde mais lentamente às mudanças de preço para determinar a direção da tendência de longo prazo.
Quando a curta EMA atravessa a HMA de longo prazo, é considerado que o preço entrou em uma tendência ascendente e a estratégia será comprada no preço de mercado na abertura da próxima linha K. Quando a curta EMA atravessa a HMA de longo prazo, é considerado que o preço entrou em uma tendência descendente e a estratégia será vendida no preço de mercado na abertura da próxima linha K.
Para otimizar o tempo de entrada no mercado, a estratégia adicionou uma opção baseada em Heikin-Ashi. Após ativar essa opção, o sinal de compra e venda da estratégia será baseado na linha Heikin-Ashi, e não na linha K original. A linha Heikin-Ashi ajuda a reduzir os falsos sinais, pois pode filtrar a linha K original do oscilador.
A estratégia também inclui uma configuração de stop loss. A estratégia irá parar o prejuízo no preço de mercado quando a perda de posse atingir o tamanho de stop loss predeterminado. Esta medida limita a perda máxima de uma única transação.
A estratégia tem as seguintes vantagens:
O uso de EMA e HMA para julgar a direção da tendência pode aproveitar as vantagens das diferentes médias periódicas para melhorar a precisão do julgamento.
Com base nas tendências de negociação, não inverter posições com pequenas oscilações, para reduzir o número de transações desnecessárias.
A opção Heikin-Ashi filtra os sinais falsos e otimiza o tempo de entrada no mercado.
O uso de estratégias de stop loss móvel permite um controle efetivo do máximo de perdas em uma única transação.
Os parâmetros da estratégia podem ser personalizados e os usuários podem ajustá-los de acordo com as diferentes variedades e ciclos para melhorar a adaptabilidade.
A estratégia também apresenta os seguintes riscos:
A estratégia de acompanhamento de tendências é uma estratégia de acompanhamento de tendências que tem um baixo desempenho no mercado de liquidação.
A tendência é de que os investidores deveriam investir mais em ações de investimento e em ações de retorno.
A configuração incorreta do stop loss pode causar um stop loss desnecessário, ou pode levar à expansão dos prejuízos.
A configuração inadequada dos parâmetros também pode levar a transações frequentes ou inativos.
As configurações de ciclo EMA e HMA precisam ser otimizadas para diferentes variedades e ciclos.
Heikin-Ashi não consegue filtrar completamente o risco de uma invasão falsa.
A estratégia pode ser melhorada em:
O uso de mais combinações de indicadores de tendências de julgamento, como MACD, KDJ, etc., aumenta a precisão de julgamento.
Adicionar mais filtros, como volume de transações, ATR e outros indicadores, reduzindo a probabilidade de falsas brechas.
Optimizar os parâmetros das médias móveis para que sejam mais adequadas a diferentes variedades e ciclos de negociação.
Optimizar as configurações de amplitude de stop-loss para torná-las mais razoáveis, evitando que sejam demasiado flexíveis ou demasiado rígidos.
Considere a inclusão de proteção de lucros, como paralisação móvel, paralisação parcial, etc., para bloquear lucros.
Testar diferentes métodos alternativos de cálculo do custo de detenção e otimizar o cálculo do custo de detenção.
A estratégia de acompanhamento de tendências baseia-se na direção da tendência, usando Heikin-Ashi e paradas móveis para otimizar o desempenho da estratégia. A estratégia é adequada para acompanhar tendências de linha média e longa e pode melhorar ainda mais a eficácia da estratégia por meio de otimização de parâmetros e extensão de recursos.
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("𝐉𝐔𝐈𝐂𝐘 𝐓𝐑𝐄𝐍𝐃", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=15)
//Heikin Ashi Option
ha = input(true, title = "Heikin Ashi Source")
src = ha ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, barmerge.gaps_off, barmerge.lookahead_off) : close
usestoploss = input(true, title="Stop Loss")
//EMA
len1 = input.int(9, minval=1, title="EMA Length")
ema = ta.ema(src, len1)
emaline = plot(ema, title="EMA", color=color.blue, linewidth=2)
//HMA
len2 = input.int(69, minval=1, title="HMA Length")
hma = ta.wma(2*ta.wma(src, len2/2)-ta.wma(src, len2), math.floor(math.sqrt(len2)))
hmaline = plot(hma, title="HMA", color=color.purple, linewidth=2)
fillcolor = hma < ema ? color.blue : color.purple
fill(emaline, hmaline, title="EMA Fill", color=color.new(fillcolor, 80), editable=true)
//Stop Loss Conditions
stoplosspercent = input.float(title="Stop Loss (%)", defval=-6.5, minval=-50, maxval=0, step=.1) / 100
stoploss = strategy.position_avg_price * (1 + stoplosspercent)
stop = stoploss > close and stoploss[1] < close[1] and strategy.position_size > 0 and usestoploss
//Buy Sell Conditions
buy = hma < ema
sell = hma > ema
//Trades and Alerts
if buy
strategy.entry("Long Position", strategy.long, comment="BUY")
// alert("{\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
if sell and strategy.openprofit > 0
strategy.close("Long Position", comment="SELL")
// alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
if stop
strategy.close("Long Position", comment="STOP")
// alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
//Alternate Labels
var pos = 0
if buy and pos <= 0
pos := 1
if sell and pos >= 0
pos := -1
buylabel = pos == 1 and (pos != 1)[1]
selllabel = pos == -1 and (pos != -1)[1]
//Plot Labels
plotshape(buylabel, style=shape.labelup, location=location.belowbar, color=color.blue, text="BUY", textcolor=color.white, size=size.tiny)
plotshape(selllabel, style=shape.labeldown, location=location.abovebar, color=color.purple, text="SELL", textcolor=color.white, size=size.tiny)
plotshape(stop, style=shape.labeldown, location=location.abovebar, color=color.yellow, text="STOP", textcolor=color.white, size=size.tiny)