Estratégias de negociação baseadas na taxa de mudança


Data de criação: 2023-09-28 11:26:44 última modificação: 2023-09-28 11:26:44
cópia: 1 Cliques: 642
1
focar em
1617
Seguidores

Visão geral

Esta estratégia determina o momento certo para comprar e vender, calculando a taxa de variação em um determinado período de tempo. Ela pode ajudar os comerciantes a aproveitar as oportunidades de mudanças de preços de curto prazo.

Princípio da estratégia

A estratégia é baseada nos seguintes indicadores:

  1. Média móvel rápida e simples (default 14 dias): tendências de curto prazo usadas para determinar preços
  2. Média Móvel Simples e Lenta (default 100 dias): usada para determinar tendências de longo prazo nos preços
  3. Média móvel simples de referência (default 30 dias): usada para determinar a direção geral de compra e venda
  4. Taxa de variação: determina a amplitude da oscilação dos preços através do cálculo da variação dos preços máximos e mínimos nos últimos períodos definidos (default 12 K-lines)

Regras específicas de compra:

  1. Preços abaixo da média móvel simples de referência
  2. Taxa de variação maior do que o limite de baixa variação definido (default 2,3%)
  3. A subida rápida do SMA e a queda lenta do SMA indicam que as duas curvas podem se cruzar

As regras de venda são:

  1. Preços acima da média móvel simples de referência
  2. Taxa de variação maior do que o limite de alta taxa de variação definido (default 4,7%)
  3. Preços subiram três vezes na linha K
  4. Atualmente lucrativo
  5. O SMA rápido é maior do que o SMA lento.

O tamanho do pedido é definido como uma porcentagem do total de direitos (default 96%), que pode fornecer um efeito de alavancagem.

Análise de vantagens estratégicas

A estratégia tem as seguintes vantagens:

  1. A utilização da taxa de variação para avaliar oscilações permite aproveitar as oportunidades de um rápido aumento ou queda de preços no curto prazo para obter maiores ganhos.
  2. A combinação com a análise de tendências de SMA permite uma melhor compreensão do momento em que as bolsas estão mais baixas e as bolsas mais altas.
  3. Definição de SMA de referência como uma orientação geral, para evitar ser enganado pelo cenário de curto-circuito de preços.
  4. A utilização de tracking de stop loss para bloquear lucros e correr riscos de queda.
  5. O tamanho da encomenda proporciona um efeito de alavancagem que aumenta a rentabilidade.

Em geral, a estratégia utiliza ferramentas como a taxa de variação de preços e o SMA para obter um melhor desempenho em situações de volatilidade.

Análise de Riscos

A estratégia também apresenta os seguintes riscos:

  1. A configuração incorreta da taxa de variação e dos parâmetros do SMA pode causar erros ou erros nos sinais de negociação. Os parâmetros precisam ser ajustados para diferentes mercados.

  2. O tamanho da encomenda aumenta o risco. Recomenda-se otimizar a proporção da encomenda durante a fase de teste.

  3. O rastreamento do stop loss pode ser prematuro em situações de tremor. Pode ser considerado o ajuste do stop loss.

  4. Transações estratégicas são suscetíveis a arbitragem. Devem ser combinadas com o discernimento de tendências e o gerenciamento de risco de stop loss.

  5. Riscos de adequação de dados de retorno. A robustez da estratégia deve ser testada em vários testes em diferentes mercados.

Para esses riscos, o controle de risco pode ser feito por meio de otimização de parâmetros, ajuste de pedidos, otimização de estratégias de parada de perdas e verificação em campo.

Direção de otimização da estratégia

A estratégia também pode ser melhorada em:

  1. A adição de outros indicadores técnicos, como a taxa de flutuação, volume de transação, etc., aumenta a precisão do sinal.

  2. Optimizar o número de transações, reduzindo a frequência de transações para reduzir o impacto da transacçõesstab.

  3. Combinação de estratégias de ruptura com a configuração de sinais de ruptura perto dos níveis críticos de preço.

  4. Otimizar automaticamente a configuração de parâmetros usando métodos de aprendizagem de máquina.

  5. Testar a robustez da estratégia em vários mercados e períodos de tempo para aumentar a adaptabilidade.

  6. Considere as características de diferentes variedades, como ações, divisas, etc., e defina um conjunto específico de parâmetros.

  7. Os sinais de estratégia e métodos de controle de risco são otimizados de forma iterativa com base nos resultados do disco rígido.

Resumir

Esta estratégia, através da taxa de mudança e de avaliação do SMA, para procurar oportunidades de negociação em curta linha de fluctuação de preços. É favorável para capturar a tendência rápida, mas também precisa prestar atenção ao controle de risco.

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

// @version=4
// Author: Sonny Parlin (highschool dropout)
// Best if run on 5m timeframe
strategy(shorttitle="ROC+Strategy", title="Rate of Change Strategy",
                                      overlay=true,  currency=currency.USD,
                                      initial_capital=10000)

// Inputs and variables
ss = input(14, minval=10, maxval=50, title="SMA Fast (days)")
ff = input(100, minval=55, maxval=200, title="SMA Slow (days)")
ref = input(30, minval=20, maxval=50, title="SMA Reference (days)")
lowOffset = input(0.023, "ROC Low (%)", minval=0, step=0.01)
highOffset = input(0.047, "ROC High (%)", minval=0, step=0.01)
orderStake = input(0.96, "Order Stake (%)", minval=0, step=0.01)
lookback = input(12, "Lookback Candles", minval=1, step=1) 

// SMA
smaFast = sma(close, ss)
smaSlow = sma(close, ff)
smaRef = sma(close, ref)
ROC = (max(close[lookback],close) - min(close[lookback],close)) / max(close[lookback],close)

// Set up SMA plot but don't show by default
plot(smaFast, "smaFast", color=#00ff00, display = 0)
plot(smaSlow, "smaSlow", color=#ff0000, display = 0)
plot(smaRef, "smaRef", color=#ffffff, display = 0)

// The buy stratey:
// Guard that the low is under our SMA Reference line 
// Guard that the rate of change over the lookback period is greater than our 
// ROC lowOffset %, default is 0.023. (low < smaRef) and (ROC > lowOffset)
// SMA fast is on the rise and SMA slow is falling and they are very likely
// to cross. (rising(smaFast,1)) and (falling(smaSlow, 1)) 
enterLong = (low < smaRef) and (ROC > lowOffset) and (rising(smaFast,1)) and (falling(smaSlow,1)) 

// The sell Strategy:
// Guard that close is higher than our SMA reference line and that the rate of 
// change over the lookback period is greater than our highOffset %, default
// is 0.047. (close > smaRef) and (ROC > highOffset)
// Guard that close has risen by 3 candles in a row (rising(close,3)) 
// Guard that we currently have profit (strategy.openprofit > 0)
// Guard that SMA fast is higher than smaSlow (smaFast > smaSlow)
// If it keeps going up past our close position the trailing stoploss will kick in!
enterShort = (close > smaRef) and (ROC > highOffset) and (rising(close,3)) and (strategy.openprofit > 0) and (smaFast > smaSlow)

// Order size is based on total equity
// Example 1:
// startingEquity = 2000
// close = 47434.93
// orderStake = 0.45
// (2,000 × orderStake) / close = orderSize = 0.0189733599 = approx $900

// Example 2:
// startingEquity = 2000
// close = 1.272
// orderStake = 0.45
// (startingEquity × orderStake) / close = orderSize = 707.5471698113 = approx $900
orderSize = (strategy.equity * orderStake) / close

// Trailing Stoploss
// I'm using 2.62 as my default value, play with this for different results.
longTrailPerc = input(title="Trailing Stoploss (%)",
     type=input.float, minval=0.0, step=0.1, defval=3.62) * 0.01
     
longStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0

if (enterLong)
    strategy.entry("Open Long Position", strategy.long, orderSize, when=strategy.position_size <= 0)
    
if (enterShort)
    strategy.exit(id="Close Long Position", stop=longStopPrice)


//plot(strategy.equity)