
Il s’agit d’un système de négociation de courte ligne basé sur le Brin Belt. Il s’applique aux principales paires de devises et exige des frais de transaction inférieurs à 1 point de différence, avec des périodes de temps comprises entre 1 et 15 minutes.
Le système utilise trois indicateurs pour identifier les opportunités de trading: les bandes de Brin, le RSI et l’ADX.
Les bandes de Brin sont utilisées pour identifier les ruptures de prix. Lorsque les prix franchissent les bandes supérieures, regardez plus; lorsque les prix franchissent les bandes inférieures, regardez moins. Le RSI est utilisé pour éviter les fausses ruptures.
Les règles d’entrée spécifiques sont les suivantes: l’entrée multiple exige que le prix franchisse la zone supérieure, le RSI monte de la zone de survente et traverse la ligne 30 tandis que l’ADX est inférieur à 32; l’entrée simple exige que le prix franchisse la zone inférieure, le RSI descend de la zone de survente et traverse la ligne 70 tandis que l’ADX est inférieur à 32.
Les règles de sortie comprennent un stop-loss et un retour à la ligne médiane. En particulier, il s’agit de: définir un point de stop-loss fixe; se positionner à plat lorsque le prix revient à la ligne médiane de Brin.
Le système présente les avantages suivants:
Le potentiel de profit est énorme dans le cas d’une manœuvre de vol à l’étalage utilisant des bandes de Brin pour capturer les prix.
En combinaison avec l’indicateur RSI, il évite les fausses ruptures et améliore la probabilité de profit.
Les indicateurs ADX sont utilisés pour filtrer les marchés sans tendance évidente et éviter les transactions inutiles.
Le retour à la ligne médiane permet de bloquer la majeure partie des bénéfices et d’éviter les retours de bénéfices.
Les transactions à fort effet de levier permettent d’augmenter rapidement les bénéfices.
Le système comporte aussi des risques:
Il s’agit d’un marché où les prix sont en hausse, mais où il n’y a pas de profit à en tirer.
Risque d’adéquation des données de rétroaction. Les résultats de rétroaction peuvent ne pas être reproduits sur le disque dur.
La tendance est trop courte et les marchés oscillants peuvent aussi faire des pertes.
Un effet de levier élevé augmente le risque.
Le temps de négociation est limité et certaines opportunités peuvent être manquées.
Le système peut être optimisé dans les domaines suivants:
Optimisation des paramètres et amélioration de l’impact des indicateurs. Par exemple, modification du cycle des bandes de Boolean, des paramètres RSI, etc.
Augmenter ou améliorer les conditions de filtrage pour augmenter le pourcentage de transactions rentables, par exemple en combinant plus d’indicateurs ou d’éléments fondamentaux.
Optimiser les stratégies de stop-loss pour maximiser les gains uniques. Par exemple, le suivi des stop-loss, le stop-loss basé sur l’ATR, etc.
Déterminer automatiquement le niveau de levier adéquat pour maximiser les gains escomptés.
Utilisez l’apprentissage automatique pour trouver automatiquement les paramètres optimaux.
Le système de régression de saut à la corde est un système typique de rupture de courte ligne. Il capte les opportunités de profit liées à la hausse des prix. Il filtre simultanément plusieurs indicateurs et montre une bonne rentabilité dans les retours.
/*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))