Stratégie de percée de la ceinture de Bohr


Date de création: 2023-09-21 10:38:13 Dernière modification: 2023-09-21 10:38:13
Copier: 0 Nombre de clics: 607
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie est basée sur la conception d’indicateurs de la bande de Bol, lorsque le prix franchit la bande de Bol et se dirige vers le bas, il prend des opérations de plus ou de moins correspondantes. La stratégie tire profit de la capture de la rupture.

Principe de stratégie

  1. Calcul de la moyenne, de la hauteur et de la basse de la bande
  2. Plus de travail lors de la descente; vide lors de la montée en piste
  3. Régler le temps de début et de fin, limiter la zone de négociation
  4. Par défaut, le jour de la clôture

Plus précisément, la stratégie commence par calculer le SMA moyen en longueur, et les hauts et les bas calculés en multiples de la différence standard. Lorsque le prix de clôture franchit le bas de la trajectoire vers le haut, faire une entrée supplémentaire; Lorsque le haut de la trajectoire vers le bas de la rupture, faire une entrée en cours.

Cette stratégie tente de capturer l’expansion des prix après la rupture de la trajectoire ascendante et descendante. La rupture de la trajectoire descendante est vue comme une augmentation de la force multilatérale, la rupture de la trajectoire ascendante comme une augmentation de la force bilatérale, ce qui favorise le commerce dans la même direction.

Analyse des avantages

  1. Simple, intuitif, facile à comprendre et à mettre en œuvre
  2. Il est capable de suivre les tendances en utilisant les indicateurs de la bande de Bolt pour déterminer les ruptures.
  3. Paramètres flexibles pour différents cycles et variétés
  4. Le risque de nuit est maîtrisé avec une liquidation quotidienne
  5. Ouvrir une transaction à plusieurs titres ou à zéro

Analyse des risques

  1. Le risque de fausse rupture. Après la rupture, le prix peut revenir.
  2. Les paramètres doivent être ajustés en fonction des périodes.
  3. Les pertes potentielles augmentent le risque. L’augmentation de la marge de rupture peut augmenter la perte individuelle.
  4. Les coûts de transaction augmentent le risque. Les transactions fréquentes peuvent augmenter les coûts de transaction.

Il est possible de réduire ces risques en optimisant les conditions d’entrée, en ajoutant des stratégies de stop loss et en introduisant des filtres de tendance.

Direction d’optimisation

  1. Optimiser les paramètres pour s’adapter à différents cycles
  2. Ajout de conditions de réintégration et de mise en position pour suivre la tendance
  3. Augmentation des stratégies de stop-loss pour contrôler les risques
  4. La période de transaction est définie pour éviter les événements majeurs
  5. Évaluation des conditions de filtrage de la tendance par filtrage de la courbure
  6. Test de différentes périodes de détention et comparaison des résultats

Résumer

Cette stratégie est basée sur une stratégie de rupture basée sur la bande de Bol, qui profite de la capture des tendances de rupture. L’avantage est que l’idée est simple et facile à mettre en œuvre; L’inconvénient est qu’elle est facilement induite en erreur par les tendances de courbure.

Code source de la stratégie
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")

source = close
basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)

if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()