Estratégia de ponto de compra de reversão de indicador duplo


Data de criação: 2024-01-04 17:39:13 última modificação: 2024-01-04 17:39:13
cópia: 1 Cliques: 531
1
focar em
1621
Seguidores

Estratégia de ponto de compra de reversão de indicador duplo

Visão geral

Esta estratégia é usada para determinar o momento de compra em combinação com o volume de negociação e o indicador RSI. A estratégia é usada em situações de turbulência e pode ser usada para bloquear compras repetidas em turbulências de queda de pequena magnitude.

Princípio da estratégia

A estratégia usa dois indicadores para identificar o momento de compra: volume de negócios e RSI. A lógica específica é emitir um sinal de compra quando o volume de negócios é superior a 2,5 vezes a média de volume de negócios dos últimos 70 dias, enquanto o RSI é inferior a 30 (nível de oversold).

Uma vez que a posição de compra é estabelecida, a estratégia define cinco diferentes objetivos de stop loss (,4%, 0,6%, 0,8%, 1,0% e 1,2%), e os stop-loss são graduados de acordo com a proporção da posição (<20%, 40%, 60%, 80% e 100%), até que toda a posição seja equilibrada. Ao mesmo tempo, define um ponto de parada de perda de 5%.

Desta forma, é possível bloquear pequenas tendências de alta por meio da configuração de paradas em lotes, evitando a perda de lucros por esperar por maiores aumentos. O stop loss pode controlar perdas individuais.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. O uso de indicadores duplos para identificar pontos de compra evita falsas rupturas. O aumento do volume de negociação pode confirmar a pressão de resistência do fundo, e o excesso de RSI pode determinar a probabilidade de um rebote do Addon.

  2. A estratégia de paralisação por lotes permite maximizar as oportunidades de lucro em pequenas oscilações, sem esperar por grandes aumentos.

  3. Aplica-se a situações de turbulência, especialmente em mercados em que os preços saltam repetidamente nas áreas de unfinished da instituição. Esses mercados são difíceis de determinar a direção a curto prazo, e a estratégia pode ser lucrativa com frequência.

  4. O ponto de parada de perda é amplo, dando ao mercado espaço suficiente para tomar decisões.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. O duplo indicador confirma que há um risco de erro de avaliação, podendo comprar pontos de ruptura falsos. O risco pode ser reduzido com a otimização de parâmetros.

  2. O bloqueio de lotes pode perder uma grande oportunidade de lucro devido ao pequeno porte de uma posição. Pode ser otimizado ajustando o ponto de bloqueio e a proporção de posição.

  3. A maior paralisação, o maior risco de perda individual. Pode reduzir o risco de gestão de posições.

  4. Em mercados de turbulência, os mercados fortes apresentam um maior risco de direção.

  5. A maior frequência de transações leva a um aumento nos custos de transação.

Direção de otimização

A estratégia pode ser otimizada em:

  1. Otimizar o volume de negociação e a combinação de parâmetros RSI, reduzindo a taxa de erro. Também pode ser introduzido MACD, KDJ e outros indicadores para confirmação.

  2. Teste diferentes paradas de amplitude e proporções de posição para encontrar a combinação ideal de parâmetros. Também pode ser introduzido um mecanismo de paragem dinâmica.

  3. Optimizar a estratégia de gestão de posições e reduzir a probabilidade de perdas individuais através de um sistema de gestão de posições de risco.

  4. Adição de um módulo de julgamento de tendências, capaz de identificar a tendência de mudança e parar o prejuízo em tempo hábil.

  5. Introdução de sistemas de transação algorítmica e de feedback quantitativo para percorrer rapidamente os diferentes parâmetros em busca da combinação ideal de parâmetros.

  6. O modelo de controle de deslizamento e controle de custos baseado em estratégias de negociação de alta frequência em nível institucional reduz o número de transações e garante a taxa de ganho.

Resumir

A dupla estratégia de inversão do ponto de compra do indicador, através do volume de negociação ponderado com o RSI e o julgamento de sobrevenda no fundo, usa o método de juros por lotes para bloquear pequenos lucros em situações de choque. O benefício é o lucro freqüente, sem precisar esperar por um grande movimento; a desvantagem é o sinal de fácil erro e a alta frequência de negociação. A qualidade do sinal pode ser confirmada através da otimização de vários indicadores, aumentando a estabilidade da estratégia através do controle de risco e controle de custos.

Código-fonte da estratégia
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
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/
// © wielkieef

//@version=5

strategy(title='BTFD strategy [3min]', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)


// Volume

vol_sma_length = input.int(70, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5


// Rsi

rsi_lenght = input.int(20, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)

rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70


// logic

tp_1 = input.float(0.4,"  TP 1", minval=0.1, step=0.1)
tp_2 = input.float(0.6,"  TP 2", minval=0.2, step=0.1)
tp_3 = input.float(0.8,"  TP 3", minval=0.3, step=0.1)
tp_4 = input.float(1.0,"  TP 4", minval=0.4, step=0.1)
tp_5 = input.float(1.2,"  TP 5", minval=0.5, step=0.1)

q_1 = input.int(title='  % TP 1 Q ', defval=20,  minval=1, step=10)
q_2 = input.int(title='  % TP 2 Q ', defval=40,  minval=1, step=10)
q_3 = input.int(title='  % TP 3 Q ', defval=60,  minval=1, step=10)
q_4 = input.int(title='  % TP 4 Q ', defval=80,  minval=1, step=10)
q_5 = input.int(title='  % TP 5 Q ', defval=100, minval=1, step=10)

sl = input.float(5.0, '% Stop Loss', step=0.1)

long_cond = Volume_condt and rsi_overs

// this code is from author RafaelZioni, modified by wielkieef
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.exit('TP 1', qty_percent=q_1, profit=per(tp_1), loss=per(sl) )
strategy.exit('TP 2', qty_percent=q_2, profit=per(tp_2), loss=per(sl) )
strategy.exit('TP 3', qty_percent=q_3, profit=per(tp_3), loss=per(sl) )
strategy.exit('TP 4', qty_percent=q_4, profit=per(tp_4), loss=per(sl) )
strategy.exit('TP 5', qty_percent=q_5, profit=per(tp_5), loss=per(sl) )

 
// by wielkieef