Estratégia de câmbio de moeda RSI oscilante longo e curto


Data de criação: 2023-12-25 13:49:48 última modificação: 2023-12-25 13:49:48
cópia: 0 Cliques: 607
1
focar em
1623
Seguidores

Estratégia de câmbio de moeda RSI oscilante longo e curto

Visão geral

A estratégia de troca de moeda de câmbio de RSI de câmbio de câmbio é uma estratégia de negociação quantitativa usada em criptomoedas. Combina o indicador de tecnologia de mercado RSI com o indicador ICHIMOKU para identificar sinais de câmbio de câmbio em momentos de flutuação de preços, para realizar baixas e altas.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes indicadores e regras:

Índice ICHIMOKU

  • Linha Tenkan: o ponto médio do preço mais baixo das últimas 20 linhas K
  • Linha Kijun: o ponto médio de maior ou menor preço das últimas 50 linhas K
  • Linha Senkou A: ponto médio entre a linha Tenkan e a linha Kijun
  • Linha B do Senkou: o ponto médio do preço mais baixo das últimas 120 linhas K
  • Linha Chikou: As 30 primeiras linhas de K no preço de fechamento atual da linha K

Indicador RSI

  • O intervalo é 0 a 100.
  • Maior que 50 é um sinal de multi-cabeça, menor que 50 é um sinal de cabea vazia

Regras de entrada
Entrada múltipla: a linha Tenkan atravessa a linha Kijun (o cruzamento do ouro) e o preço quebra a linha Senkou A&B, enquanto o RSI está acima de 50 Entrada de cabeça vazia: linha Tenkan abaixo da linha Kijun (cruzamento de morte) e preço abaixo da linha Senkou A&B, enquanto o RSI está abaixo de 50

Saída de regras
Cessar imediatamente o dano e sair do campo quando o sinal de entrada for contrário

A estratégia integra tendências de médio e longo prazo, liquidez de curto prazo e sobrecompra e sobrevenda para capturar oportunidades de reversão em situações de turbulência. Ao mesmo tempo, configura regras de parada de perdas para evitar grandes perdas.

Análise de vantagens

1. Avaliação integrada de múltiplos indicadores para garantir uma alta precisão

A estratégia considera simultaneamente a tendência do ICHIMOKU e os julgamentos de resistência de suporte, a tendência de sobrecompra e sobrevenda do RSI, e a liquidez de fundos na direção da linha K, garantindo a confiabilidade do sinal.

2. Apropriado para situações turbulentas, com frequência de lucro

A estratégia, que permite capturar as oportunidades de reversão em situações de turbulência e de frequentes baixas e altas vendas, é baseada na volatilidade do mercado de criptomoedas.

3. Prevenção de acidentes de trânsito, riscos controláveis

A estratégia compreende as tendências de médio e longo prazo e as situações de curto prazo, evitando o risco de queda de queda, ao mesmo tempo em que configura o risco de evasão de perda.

Análise de Riscos

1. Pode ter perdido parte do funcionamento

A estratégia baseia-se na inversão, com frequentes oscilações de capital de ataque quando ocorre um longo período de operação.

2. Uma única espécie, sem dispersão de risco

A estratégia de negociar apenas uma variedade não dispersou o risco sistêmico do mercado.

3. Cessação de danos em situações extremas

Em situações extremas, como saltos, explosões de potência, etc., a estratégia pode desencadear um stop loss e forçar a saída.

Direção de otimização

1. Aumentar as estratégias de stop loss e reduzir as perdas individuais

Pode-se configurar um stop loss móvel ou um stop loss em percentagem de saldo para bloquear o lucro e evitar que o lucro se torne zero.

2. Combinação de correlação de índices de ações para diversificar o risco de mercado

O risco sistêmico do mercado pode ser dispersado através da busca de oportunidades de negociação em variedades com forte correlação com o índice de ações.

3. Aumentar os filtros condicionais e reduzir as transações inválidas

Pode-se configurar a taxa de flutuação de preços, a variação do volume de transação e outros filtros, evitando sinais de inversão ineficazes e aumentando a probabilidade de lucro.

Resumir

A estratégia de troca de moedas de RSI com o uso integrado do indicador ICHIMOKU e do indicador RSI para julgar o ponto de reversão da criptomoeda, é adequada para baixar e vender em situações de turbulência. Ao mesmo tempo, configura regras de stop loss para controlar o risco. A estratégia pode aumentar ainda mais a eficácia ao otimizar o mecanismo de stop loss, o risco de dispersão associado e o filtro de configuração de condições.

Código-fonte da estratégia
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 3m
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/
// © exlux99

//@version=4

strategy(title="Ichimoku + RSI Crypto trending strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1  )

UseHAcandles    = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low


//Inputs
ts_bars = input(20, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(50, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
//vollength = input(defval=1, title="VolLength")
//voltarget = input(defval=0., type=input.float, step=0.1, title="Volatility Target")
//Difference = abs((haClose - haOpen)/((haClose + haOpen)/2) * 100)
//MovingAverage = sma(Difference, vollength)
//highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

//RSI
change = change(haClose)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(haClose, cs_offset-1) > 0
cs_cross_bear = mom(haClose, cs_offset-1) < 0
price_above_kumo = haClose > ss_high
price_below_kumo = haClose < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish //and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish //and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)