
A estratégia de rastreamento de tendências de dois quadros temporais baseada em ações é uma estratégia de negociação de algoritmos avançados que visa capturar e acompanhar a tendência de uma determinada ação popular em 2023. A estratégia utiliza uma combinação de indicadores de linha diária e linha de 1 hora para identificar sinais de negociação, para realizar um stop loss dinâmico e otimizado para gerenciamento de risco, com o objetivo de obter ganhos estáveis sob a premissa de controlar o risco.
Esta estratégia usa uma média móvel indexada de 20 e 50 períodos (EMA) para determinar a direção da tendência na linha diária e na linha de 1 hora. A EMA de 20 dias na linha diária e na linha de 1 hora gera um sinal de compra quando ambos atravessam a EMA de 50 dias. A EMA de 20 dias na linha diária e na linha de 1 hora gera um sinal de venda quando ambos atravessam a EMA de 50 dias.
Ao mesmo tempo, a estratégia usa o indicador de amplitude real média ((ATR) para calcular o ponto de parada e o ponto de parada. O ponto de parada é definido como 1,5 vezes o ATR e o ponto de parada é definido como 3 vezes. Isso permite ajustar o parâmetro de parada em tempo real de acordo com o nível de risco causado pela volatilidade do mercado, o que permite otimizar o gerenciamento de risco.
A estratégia tem as seguintes vantagens:
A combinação de indicadores de quadros temporais múltiplos pode ser filtrada para identificar a inicialização de tendências de forma eficaz.
A configuração de stop loss dinâmico permite uma gestão de risco mais inteligente, evitando os problemas causados pela configuração estática dos parâmetros de stop loss.
A análise de pontos de venda e de compra permite uma melhor compreensão das oportunidades de tendência.
O controle rigoroso do risco de uma única transação ajuda a obter um retorno de investimento consistente e estável.
A estratégia também apresenta alguns riscos:
Otimizado apenas para uma ação em 2023, pode não ser aplicável a outras ações ou outros anos.
O risco de perdas provocadas por uma extrema volatilidade não pode ser totalmente evitado.
Os sinais de julgamento de múltiplos quadros de tempo podem ter riscos de erro.
O risco sistémico de mercado também pode influenciar a estratégia.
A estratégia também pode ser melhorada em:
Aumentar as referências a índices de mercado e evitar a criação de posições em períodos de risco sistêmico elevado.
A combinação dos fundamentos das ações com o risco de eventos importantes leva em consideração a paralisação de prejuízos.
Teste o impacto de ajustes em parâmetros da EMA sobre a eficácia da estratégia.
A adição de algoritmos de aprendizagem de máquina para avaliar os sinais de compra e venda.
A estratégia compreende várias dimensões, como o julgamento de tendências, gerenciamento de riscos e otimização de parâmetros. Com o risco controlado, é adequado para investidores experientes seguirem a tendência de longa distância em ações populares e obterem um retorno de investimento mais estável. Usar a estratégia requer que o investidor tenha uma certa capacidade de programação e conhecimento de negociação quantitativa e esteja preparado para assumir um certo nível de risco de perda.
/*backtest
start: 2023-02-26 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TSLA Enhanced Trend Master 2023", overlay=true)
// Daily timeframe indicators
ema20_daily = ta.ema(close, 20)
ema50_daily = ta.ema(close, 50)
// 1-hour timeframe indicators
ema20_hourly = request.security(syminfo.tickerid, "60", ta.ema(close, 20))
ema50_hourly = request.security(syminfo.tickerid, "60", ta.ema(close, 50))
// Check if the year is 2023
is_2023 = year(time) == 2023
// Counter for short trades
var shortTradeCount = 0
// Entry Conditions
buySignal = is_2023 and (ema20_daily > ema50_daily) and (ema20_hourly > ema50_hourly)
sellSignal = is_2023 and (ema20_daily < ema50_daily) and (ema20_hourly < ema50_hourly) and (shortTradeCount < 0.5 * ta.highest(close, 14))
// Dynamic Stop Loss and Take Profit
atr_value = ta.atr(14)
stopLoss = atr_value * 1.5
takeProfit = atr_value * 3
// Calculate Position Size based on Volatility-Adjusted Risk
riskPercent = 2
positionSize = strategy.equity * riskPercent / close
// Strategy
if (buySignal)
strategy.entry("Buy", strategy.long, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=close - stopLoss, limit=close + takeProfit)
if (sellSignal)
strategy.entry("Sell", strategy.short, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=close + stopLoss, limit=close - takeProfit)
shortTradeCount := shortTradeCount + 1