Estratégia de negociação quantitativa de lucro não realizado relativo EMA100 e NUPL

EMA
Data de criação: 2024-06-17 14:55:13 última modificação: 2024-06-17 14:55:13
cópia: 0 Cliques: 575
1
focar em
1617
Seguidores

Estratégia de negociação quantitativa de lucro não realizado relativo EMA100 e NUPL

Visão geral

A estratégia de negociação baseia-se na média móvel do índice de 100 períodos (EMA100), lucro/perda líquido não realizado (NUPL) e lucro relativamente não realizado, e gera um sinal de negociação julgando o cruzamento do preço com o EMA100 e o negativo do NUPL e do lucro relativamente não realizado. O multi-sinal é acionado quando o preço atravessa o EMA100 e o NUPL e o lucro relativamente não realizado são positivos; o sinal de vazio é acionado quando o preço atravessa o EMA100 e o NUPL e o lucro relativamente não realizado são negativos. A estratégia utiliza uma posição fixa de 10% e um stop loss de 10%.

Princípio da estratégia

  1. Calculando 100 EMA de ciclo como principal indicador de tendência
  2. Utilização do NUPL e do lucro não realizado relativo como indicadores auxiliares para confirmar a força e a sustentabilidade da tendência
  3. Ao mesmo tempo em que o preço atravessa/descobre o EMA100, o NUPL e o lucro não realizado relativo geram sinais de fazer mais/fazer menos para o momento positivo/negativo
  4. 10% de posição fixa e 10% de stop loss para controlar o risco
  5. Quando se detém uma posição a mais, a posição a mais é liquidada se o preço for abaixo do preço de parada; quando se detém uma posição a menos, a posição a menos é liquidada se o preço for acima do preço de parada

Análise de vantagens

  1. Simples e fácil de entender: a lógica da estratégia é clara, usa indicadores técnicos comuns e é fácil de entender e implementar
  2. Seguimento de tendências: Captura de tendências principais através do EMA100, adequado para uso em mercados de tendências
  3. Controle de risco: configurações de posições fixas e de stop loss para controlar o risco de forma eficaz
  4. Adaptabilidade: a estratégia pode ser aplicada a diferentes mercados e padrões de negociação

Análise de Riscos

  1. Falso sinal: em um mercado de turbulência, uma frequente intersecção do preço com o EMA100 pode gerar mais falsos sinais, resultando em perdas
  2. Atraso: A EMA, como um indicador atrasado, pode ter uma reação lenta quando a tendência se inverte, perdendo o melhor momento de entrada
  3. Optimização de parâmetros: os parâmetros da estratégia (como o ciclo EMA, o tamanho da posição, a taxa de paralisação) precisam ser otimizados para diferentes mercados, e os parâmetros inadequados podem causar fracassa na estratégia

Direção de otimização

  1. Optimização de parâmetros: optimização de parâmetros como o ciclo EMA, o tamanho da posição e a taxa de parada para melhorar o desempenho da estratégia
  2. Filtração de sinais: adicionar outros indicadores técnicos ou indicadores de sentimento de mercado para filtrar falsos sinais
  3. Gerenciamento de posições dinâmicas: ajuste de posições de forma dinâmica de acordo com a volatilidade do mercado, fatores como ganhos e perdas de contas, para aumentar a receita e controlar o risco
  4. Portfólio multi-cabeça: posições multi-cabeça e em branco, para proteger o risco de mercado e aumentar a estabilidade estratégica

Resumir

A estratégia de negociação gera sinais de negociação através de EMA100, NUPL e três indicadores de lucro relativamente não realizados, com vantagens como clareza lógica, controle de risco e adaptabilidade. Também existe risco de falso sinal, atraso e otimização de parâmetros. No futuro, a estratégia pode ser otimizada e aprimorada por meio de otimização de parâmetros, filtragem de sinal, gerenciamento de posição dinâmica e combinação de múltiplos espaços.

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

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")