
Cette stratégie est une stratégie de retour moyen basée sur la bande de Brin et l’indice de force intraday. Elle utilise le prix pour briser la bande de Brin et descendre, en combinaison avec l’indice de force intraday du volume de transactions pour déterminer le moment de l’entrée.
La stratégie commence par calculer les courbes de Brin, les courbes supérieures et inférieures. La courbe centrale est la moyenne mobile simple ou la moyenne mobile indicielle du prix de clôture. La courbe supérieure et inférieure est construite en calculant l’écart-type, en ajoutant deux fois l’écart-type de réduction à la courbe centrale.
L’indicateur de force intraday est utilisé comme indicateur de jugement auxiliaire. Il combine des informations sur les prix et les volumes de transactions. Lorsque l’indicateur est positif, il indique une augmentation de la force d’achat, comme signal de plus de position.
En ce qui concerne l’ouverture de position, la stratégie nécessite à la fois la rupture du prix de la ceinture de Brin et le déclenchement de l’indice de force intraday. En ce qui concerne les arrêts de perte, la stratégie prend le temps de s’arrêter et de choisir de s’arrêter si elle ne gagne pas après une certaine période.
Le plus grand avantage de cette stratégie est qu’elle exploite les caractéristiques de la régression moyenne des prix pour en tirer profit. Lorsque les prix deviennent plus éloignés, il y a une plus grande probabilité, selon la loi statistique, que les prix retournent à l’axe médian, ce qui fournit une base théorique pour le fonctionnement de la stratégie.
Un autre avantage est que la stratégie ajoute l’indicateur de volume de transactions et l’indicateur d’intensité intraday pour filtrer les signaux de prix. Le volume de transactions prouve l’efficacité du signal de prix. Cela évite de générer des signaux erronés dans certains cas de fortes fluctuations des prix et d’insuffisance du volume de transactions.
Bien que la stratégie repose sur la probabilité d’un événement de retour au cours moyen pour tirer profit, des mouvements aléatoires des prix du marché peuvent également entraîner le déclenchement d’un stop loss, ce qui entraîne des pertes. C’est un risque commun aux stratégies de retour au cours moyen.
Un autre risque majeur est que le retour à la valeur moyenne est lui-même un processus à long terme. Pour les investisseurs, les fonds peuvent être bloqués pendant un certain temps. Ce risque de temps peut conduire les investisseurs à perdre d’autres opportunités d’investissement plus favorables.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimisation des paramètres des bandes de Bryn, des cycles d’ajustement et des indices de décalage standard pour s’adapter aux conditions de volatilité des différents marchés
Essayez d’autres types de moyennes mobiles, comme les moyennes mobiles linéaires pondérées pour améliorer la fluidité.
Essayez d’autres types d’indicateurs de volume de transaction pour trouver de meilleurs signaux de confirmation de prix
Ajout d’une stratégie d’arrêt de perte pour contrôler la perte maximale d’une seule commande
L’ensemble de cette stratégie est une stratégie de retour à la valeur moyenne typique. Les gains sont obtenus en fonction d’événements probabilisés, mais les risques sont tout aussi évidents. Par l’ajustement des paramètres, l’optimisation des indicateurs peut obtenir de meilleurs résultats.
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Bollinger Bands Strategy with Intraday Intensity Index
// by SparkyFlary
//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Bollinger Bands Strategy with Intraday Intensity Index", shorttitle="Bollinger Bands Strategy", overlay=true)
BBlength = input(20, title="Bollinger Bands length")
BBmaType = input("SMA", title="Bollinger Bands MA type", type=input.string, options=["SMA", "EMA"])
BBprice = input(close, title="source")
timeStop = input(10, title="Time-based stop length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
withIII = input(true, title="with Intraday Intensity Index?")
IIIlength = input(21, title="Intraday Intensity Index length")
//function for choosing moving averages
f_ma(type, src, len) =>
float result = 0
if type == "SMA"
result := sma(src, len)
if type == "EMA"
result := ema(src, len)
result
//Intraday Intensity Index
k1 = (2 * close - high - low) * volume
k2 = high != low ? high - low : 1
i = k1 / k2
iSum = sum(i, IIIlength)
//Bollinger Bands
BBbasis = f_ma(BBmaType, BBprice, BBlength)
BBdev = BBmult * stdev(BBprice, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
plot(BBupper, title="Bollinger Bands Upper Line")
plot(BBlower, title="Bollinger Bands Lower Line")
plot(BBbasis, title="Bollinger Bands Mid line", color=color.maroon)
//Strategy
buy = close[1]<BBlower[1] and close>BBlower and (withIII ? iSum>0 : 1)
sell = close>BBbasis or buy[timeStop] or (strategy.openprofit>0 and buy==0 and buy[1]==0 and buy[2]==0 and buy[3]==0)
short = close[1]>BBupper[1] and close<BBupper and (withIII ? iSum<0 : 1)
cover = close<BBbasis or short[timeStop] or (strategy.openprofit>0 and short==0 and short[1]==0 and short[2]==0 and short[3]==0)
strategy.entry(id="enter long", long=true, when=buy)
strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
strategy.close(id="enter short", comment="exit short", when=cover)