Stratégies de trading Breakout


Date de création: 2023-11-02 16:40:26 Dernière modification: 2023-11-02 16:40:26
Copier: 1 Nombre de clics: 573
1
Suivre
1617
Abonnés

Stratégies de trading Breakout

Aperçu

La stratégie est basée sur la théorie des ruptures, en comparant les moyennes mobiles des prix les plus élevés et les plus bas pour déterminer si la tendance est inversée, afin de détecter les points de rupture potentiels. La stratégie est simple et directe et s’applique aux indicateurs qui suivent les changements drastiques de la tendance.

Principe de stratégie

La stratégie calcule d’abord la moyenne mobile des prix les plus élevés et les plus bas d’une période donnée en fonction des paramètres de l’utilisateur. La moyenne mobile des prix les plus élevés représente la hausse et la moyenne mobile des prix les plus bas représente la baisse. Lorsque le prix franchit la hausse, indiquant une tendance à la hausse, la stratégie prend une position plus élevée.

La stratégie offre également des paramètres de stop-loss optionnels. Lorsque vous faites de l’optimisation, le point d’arrêt est en amont; lorsque vous faites de l’optimisation, le point d’arrêt est en bas. Cela peut réduire les pertes.

Avantages stratégiques

Cette stratégie présente les avantages suivants:

  1. Les idées stratégiques sont simples, directes, faciles à comprendre et à mettre en œuvre.

  2. Il est possible de saisir rapidement les points de basculement de la tendance des prix et d’ajuster sa position en temps opportun.

  3. La méthode de prévention de la perte est proposée en option et peut être réglée en fonction des préférences de risque individuelles.

  4. Les signaux de transaction sont générés de manière claire et ne sont pas fréquemment falsifiés.

  5. Les paramètres configurables sont moins nombreux et plus faciles à utiliser.

  6. Il est possible de configurer avec souplesse les tâches à effectuer en plus ou en moins.

Risque stratégique

Cette stratégie comporte aussi des risques:

  1. Le signal de rupture pourrait être faux et ne pas durer.

  2. Une mauvaise configuration du cycle de rupture peut manquer une tendance à des lignes plus longues.

  3. La rupture n’a pas été prise en compte dans le volume des transactions, ce qui pourrait entraîner des hausses ou des baisses.

  4. Il y a un certain retard et on risque de rater les meilleurs moments.

  5. Les points d’arrêt risquent d’être franchis en cas de forte volatilité.

  6. Les bénéfices sont incertains si l’on négocie uniquement sur la base de points de rupture.

Optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Combiné avec un indicateur de volume de transactions, il évite les faux-brèches. Par exemple, le volume de transactions est amplifié lors d’une brèche, ce qui indique que la brèche peut être réelle et efficace.

  2. Optimiser les paramètres périodiques des moyennes mobiles pour qu’elles correspondent aux variations de tendance de différentes périodes. Vous pouvez également essayer différents types de moyennes mobiles.

  3. L’amplitude de réglage peut être réglée pour une confirmation ultérieure après l’apparition du point de rupture, afin d’éviter une fausse rupture.

  4. Il est possible d’ajouter des outils d’indices de moyennes mobiles tels que le canal de Bollinger sur une base de rupture pour obtenir plus d’indications de direction.

  5. Il peut être combiné avec d’autres INDICATORS comme le RSI, le MACD, etc. pour obtenir plus de signaux de négociation auxiliaires et améliorer la précision de la prise de décision.

  6. Optimiser les stratégies de stop-loss pour mieux s’adapter aux fluctuations des prix tout en contrôlant les risques.

Résumer

L’idée générale de la stratégie de rupture est claire et facile à comprendre. L’optimisation de la stratégie est plus large et l’efficacité de la stratégie peut être renforcée par l’intégration de plus d’informations sur les indicateurs et l’optimisation des paramètres. Après avoir été familiarisé avec l’idée de base de la stratégie, il est possible d’obtenir de meilleurs résultats commerciaux en fonction des paramètres qui doivent être ajustés.

Code source de la stratégie
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
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")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len])) and rev == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
    
if (not na(close[len])) and rev == true
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()