
Cette stratégie est appelée stratégie de trading quantifiée de la ceinture de Bollinger et est une stratégie de trading d’indices et d’actions basée sur l’amélioration des canaux de la ceinture de Bollinger. La stratégie permet de tirer profit de la baisse et de la baisse du marché en ajustant les paramètres de la ceinture de Bollinger pour optimiser simultanément les positions longues et courtes.
La logique de base de la stratégie est basée sur le passage de la ceinture de Brin. La ceinture de Brin est composée d’un milieu, d’un haut et d’un bas, le milieu étant la moyenne mobile des prix de clôture de n jours, le haut et le bas étant respectivement les écarts entre le milieu et le bas. Lorsque le prix est proche de la ceinture supérieure, cela signifie que le marché peut être surchauffé, ce qui crée des opportunités de bulle; et lorsque le prix est proche de la ceinture inférieure, cela signifie que le marché peut être sous-évalué, ce qui crée des opportunités de bulle.
Cette stratégie utilise deux bandes de Brin, Brin 1 pour faire plus et Brin 2 pour faire moins. Les paramètres de Brin 1 ont été optimisés pour une longueur de 25 et un écart de 2,9 fois. Les paramètres de Brin 2 ont également été optimisés pour une longueur de 36 et un écart de 3,2 fois.
Par rapport à la stratégie traditionnelle de la ceinture de Brin, cette stratégie présente les avantages suivants:
Il est possible d’effectuer des transactions bilatérales multi-zones. Il s’applique également à des scénarios bilatéraux, permettant de saisir les opportunités de transactions à différents stades du marché.
Les paramètres ont été optimisés. Les paramètres des deux ensembles de Brin ont été soigneusement testés pour émettre efficacement des signaux de transaction.
Le risque est contrôlable. Le stop-loss mobile permet de contrôler efficacement le risque unilatéral.
Cette stratégie présente également des risques potentiels:
Le risque de défaillance de la ceinture de Brin. La ceinture de Brin peut être défaillante en cas de forte volatilité du marché.
Le stop loss est couvert par un risque. Le stop loss mobile peut être couvert, ce qui élargit les pertes. Le stop loss peut être toléré ou évité à temps.
Risque d’une fréquence de transaction trop élevée. La configuration des paramètres est trop sensible, ce qui peut entraîner des transactions fréquentes et augmenter les coûts de transaction.
Il y a encore de la place pour optimiser la stratégie:
En combinaison avec d’autres indicateurs, les signaux de filtrage permettent d’éviter les erreurs de transaction lors de l’échec de la chaîne de Brent. Par exemple, la forme de la ligne K, le volume des transactions, etc.
Adaptation dynamique des paramètres pour adapter les bandes de Brin aux caractéristiques du marché selon les cycles. Par exemple, l’adoption de bandes de Brin adaptatives.
Optimiser les méthodes d’arrêt, en utilisant des arrêts de suivi ou des arrêts de déplacement de l’indice, etc., pour contrôler efficacement les risques.
L’optimisation automatique des paramètres est réalisée en combinaison avec des algorithmes d’apprentissage automatique.
Cette stratégie est basée sur le canal de la double bande de Brin, par l’optimisation des paramètres, l’optimisation des transactions bilatérales à court et à long terme. Comparé à la stratégie de la bande de Brin traditionnelle, il a l’avantage de faire plus de blanchiment, de contrôle des risques, s’applique à la capture des opportunités de différentes phases du marché, et a une certaine valeur pratique.
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
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("BB NDX strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.01)
source = close
length = input(25, minval=1, title="Length BB long")
mult = input(2.9, minval=0.001, maxval=50, step=0.1, title="MULT BB long")
length2 = input(36, minval=1, title="Length BB short")
mult2 = input(3.2, minval=0.001, maxval=50, step=0.1, title="MULT BB short")
basis = sma(source, length)
dev = mult * stdev(source, length)
dev2 = mult2 * stdev(source, length2)
upper = basis + dev2
lower = basis - dev
buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)
longEntry=input(true)
shortEntry=input(true)
g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)
tplong=input(0.065, step=0.005, title="Take profit % for long")
sllong=input(0.04, step=0.005, title="Stop loss % for long")
tpshort=input(0.025, step=0.005, title="Take profit % for short")
slshort=input(0.04, step=0.005, title="Stop loss % for short")
if(longEntry)
strategy.entry("long",1,c,when=buyEntry)
strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closeshort')
strategy.close("long",when=sellEntry)
if(shortEntry)
strategy.entry("short",0,c,when=sellEntry)
strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')
strategy.close("short",when=buyEntry)