
Cette stratégie est une stratégie de trading quantitative basée sur les indicateurs Brin Belt et MACD. Elle intègre les transactions de rupture de Brin Belt et le suivi des tendances du MACD, dans le but d’améliorer la qualité du signal de trading.
La stratégie est basée sur les signaux de trading de l’indicateur Brin et de l’indicateur MACD.
L’indicateur de la ceinture de Brin se compose de la voie médiane, de la voie supérieure et de la voie inférieure. Il génère un signal d’achat lorsque le prix franchit la voie inférieure; il génère un signal de vente lorsque le prix franchit la voie supérieure. La stratégie utilise le principe de la rupture de la ceinture de Brin pour déterminer le signal de rupture le plus fort.
L’indicateur MACD reflète la relation entre les moyennes mobiles à court terme et à long terme, en utilisant les forks dorés et morts de la ligne de différence et de la ligne de signal pour déterminer le moment de l’achat et de la vente. Cette stratégie est combinée à l’utilisation de l’indicateur MACD pour filtrer les signaux de transaction de la bande de brouillard, produisant un signal d’achat plus efficace lorsque la ligne de différence franchit la ligne de signal vers le haut.
Dans l’ensemble, la stratégie combine le suivi de la tendance de la ceinture de Brin et l’avantage des moyennes mobiles du MACD, afin de capturer les plus grandes fluctuations du marché dans des tendances fortes.
Les signaux de négociation sont plus fiables en combinant les bandes de Brin et l’indicateur MACD
Dans une tendance, le suivi de la tendance des bandes de Brin et la croisée des moyennes mobiles MACD peuvent générer un signal d’entrée plus fort.
Le double indicateur permet de filtrer efficacement les faux signaux et de réduire le risque de transaction.
Les paramètres de la stratégie ont beaucoup d’espace d’optimisation et peuvent être ajustés en fonction des variétés et des cycles.
Les signaux de transaction générés par les bandes de Brin et le MACD peuvent être fréquents dans des situations de choc, ce qui entraîne un risque de spéculation.
Le MACD a enregistré trois signaux d’achat à la fourche dans la zone basse, ce qui pourrait entraîner un risque de reprise.
Les stratégies utilisent plus d’indicateurs, les paramètres sont plus difficiles à optimiser et les stratégies plus difficiles à tester.
Les risques mentionnés ci-dessus peuvent être maîtrisés par des méthodes telles que l’ajustement approprié du temps de détention, la définition d’une ligne de stop-loss et l’optimisation des paramètres.
Test des paramètres de la bande de Brin sur des périodes plus longues, réduisant ainsi la fréquence des transactions.
Optimiser les paramètres de la ligne moyenne rapide et lente du MACD pour améliorer la sensibilité de l’indicateur.
Ajouter des filtres sur d’autres indicateurs tels que KDJ, RSI, etc. pour améliorer la qualité du signal.
Il est possible de définir des stop-loss dynamiques, des stop-loss automatiques et des retraits, et de contrôler le risque d’une seule transaction.
Cette stratégie, qui intègre les transactions de rupture de la ceinture de Brin et le filtrage de l’indicateur MACD, peut théoriquement produire un signal de négociation de haute qualité. Il est possible d’obtenir de meilleurs résultats de rétroaction grâce à l’optimisation des paramètres et aux moyens de contrôle des risques. Cependant, aucune stratégie ne peut éviter complètement les pertes et l’efficacité des transactions réelles doit être soigneusement évaluée.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Nabz-BBMACD-2022-V1.1", shorttitle="BBM-Nabz", overlay=true)
// My 1st Pine Scrpt Indicator
// Work on best on 1Hr Chart
// Open for Help/Donations.
var float lastentry=1
int result = 0
float x = 0
drawshape = false
/////////////EMA
shortest = ta.ema(close, 20)
short = ta.ema(close, 50)
longer = ta.ema(close, 100)
longest = ta.ema(close, 200)
plot(shortest, color = color.red)
plot(short, color = color.orange)
plot(longer, color = color.aqua)
plot(longest, color = color.blue)
///////////// RSI
RSIlength = input(6,title="RSI Period Length")
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = ta.rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input.int(200, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = ta.crossover(source, BBlower)
sellEntry = ta.crossunder(source, BBupper)
////////////// MACD
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD
///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na
///////////Strategy
bool tcu = not (ta.crossunder(price[0],shortest[0]))
if (((price[1]<BBlower[1]) and (ta.crossover(price,BBlower))))
lastentry := low[1]
strategy.entry("RSI_BB_L", strategy.long, comment="Buy 1st IF")
if (((ta.crossover(delta, 0.0) and (ta.crossover(price,BBlower)))))
lastentry := low[1]
strategy.entry("RSI_BB_L", strategy.long, comment="Buy 2nd IF")
if (((ta.crossover(delta, 0.0)) and (low[0]>shortest[0])) and (price[1]<low))
lastentry := low[1]
strategy.entry("RSI_BB_L", strategy.long, comment="Buy 3rd IF") //else
if (((ta.crossover(delta, 0.01)) and (high[1]<BBupper)) and (tcu))
lastentry := low[1]
strategy.entry("RSI_BB_L", strategy.long, comment="Buy 4th IF")
if ((ta.crossunder(low[0],shortest[0]) and close<shortest))
strategy.close(id="RSI_BB_L", comment="Close by 1st IF")
if (price<lastentry)
drawshape := true
if (price<strategy.opentrades.entry_price(0)/1.01175734321249)
strategy.close(id="RSI_BB_L", comment="Close by 2nd IF")
plot(strategy.opentrades.entry_price(0), color=color.yellow)