
Este é um sistema de negociação de linha curta de salto de divisas baseado em Brinbelt. Ele é aplicado a pares de moedas principais e exige taxas de transação com menos de um ponto de diferença e um período de tempo entre 1-15 minutos.
O sistema usa três indicadores para identificar oportunidades de negociação: a faixa de Brin, RSI e ADX.
A banda Brin é usada para identificar a quebra do preço. Quando o preço quebra a banda superior, olhe mais; Quando o preço quebra a banda inferior, olhe menos. O RSI é usado para evitar falsas quebras.
As regras de entrada específicas são: a entrada múltipla exige que o preço quebre a faixa superior, o RSI sobe da zona de supera venda e cruza a linha 30 enquanto o ADX está abaixo de 32; a entrada simples exige que o preço quebre a faixa inferior, o RSI desce da zona de supera compra e cruza a linha 70 enquanto o ADX está abaixo de 32.
As regras de saída incluem um stop loss e um retorno à linha média. Especificamente, define um ponto de stop loss fixo; e se posicione em um ponto zero quando o preço retorna à linha média de Brin.
O sistema tem as seguintes vantagens:
A utilização de um Brin-band para capturar preços de um salto em altura tem um grande potencial de lucro.
Combinado com o indicador RSI, evita brechas falsas e aumenta a probabilidade de lucro.
Filtrar os mercados sem tendências evidentes com o indicador ADX, evitando transações desnecessárias.
O regresso ao meio-campo pode bloquear a maior parte dos lucros e evitar o retorno dos lucros.
O que é um banco de dados?
O sistema também apresenta alguns riscos:
O preço do Bitcoin está em alta, dependendo do salto de preço, e não pode ser lucrativo se você não conseguir capturar o salto.
Risco de compatibilidade dos dados de retorno. O disco rígido pode não ser capaz de replicar os resultados de retorno.
A tendência é muito curta, e os mercados de choque também podem perder.
A alta alavancagem aumenta o risco. A perda individual pode ser maior.
O tempo de negociação é limitado e você pode perder algumas oportunidades.
O sistema pode ser otimizado em vários aspectos:
Optimizar os parâmetros, melhorar o efeito do indicador. Por exemplo, modificar o ciclo de faixa de Bryn, os parâmetros do RSI, etc.
Aumentar ou melhorar as condições de filtragem para aumentar a taxa de negociação lucrativa. Por exemplo, incorporar mais indicadores ou elementos básicos.
Optimizar a estratégia de stop loss para maximizar o lucro unitário. Por exemplo, rastrear o stop loss, o stop loss de acordo com o ATR, etc.
Determine automaticamente o nível de alavancagem apropriado para maximizar os ganhos esperados.
A utilização de técnicas de aprendizagem automática para encontrar os melhores parâmetros.
O sistema de regressão do salto em altura do Gold Brin é um típico sistema de ruptura de linha curta. Ele captura oportunidades de lucro geradas pelo salto de preço. Filtração com vários indicadores ao mesmo tempo, mostrando boa rentabilidade no retrospecto.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 2h
basePeriod: 15m
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("Bollinger Bands, RSI and ADX Trading System", overlay=true)
timeinrange(res, sess) => time(res, sess) != 0
timer = color.red
//bgcolor(timeinrange(timeframe.period, "0300-0600") or timeinrange(timeframe.period, "0900-1300") or timeinrange(timeframe.period, "2030-2300") ? timer : na, transp=70)
//RSI
length = input( 20 )
overSold = input( 35 )
overBought = input( 65 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
//if (not na(vrsi))
//BB
lengthB = input(60, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthB)
dev = mult * stdev(src, lengthB)
upper = basis + dev
lower = basis - dev
//adx
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
longEntry = close < upper and crossover(vrsi,overSold) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))
shortEntry = close > upper and crossunder(vrsi,overBought) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))
tp=input(90, step=10)
sl=input(90, step=10)
strategy.entry("long",1,when=longEntry)
strategy.exit("X_long", "long", profit=tp, loss=sl )
strategy.close("long",when=crossunder(close,basis))
strategy.entry('short',0,when=shortEntry)
strategy.exit("x_short", "short",profit=tp, loss=sl)
strategy.close("short",when=crossover(close,basis))