Stratégie de négociation de rupture

Auteur:ChaoZhang est là., Date: 2023-11-02 16:40:26 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie est basée sur la théorie de la rupture, comparant les moyennes mobiles des prix les plus élevés et les plus bas pour déterminer si la tendance est en train de s'inverser, afin de trouver des points de rupture potentiels et de négocier lorsque la rupture se produit.

La logique de la stratégie

Cette stratégie calcule d'abord les moyennes mobiles des prix les plus élevés et les plus bas au cours d'une période définie par l'utilisateur. La moyenne mobile des prix la plus élevée représente la bande supérieure, et la moyenne mobile des prix la plus basse représente la bande inférieure. Lorsque le prix franchit la bande supérieure, il signale une tendance haussière, et la stratégie ouvrira une position longue. Lorsque le prix franchit la bande inférieure, elle signale une tendance baissière, et la stratégie ouvrira une position courte. Les utilisateurs peuvent configurer uniquement long ou uniquement court.

La stratégie fournit également des paramètres optionnels de stop loss et de prise de profit. Lorsque long, le stop loss est défini à la bande supérieure; lorsque court, le stop loss est défini à la bande inférieure. Cela réduit les pertes. Les utilisateurs peuvent également choisir de définir le stop loss au point de rupture, c'est-à-dire lorsque long, le stop loss est la bande inférieure, et lorsque court, le stop loss est la bande supérieure.

Les avantages

Les avantages de cette stratégie sont les suivants:

  1. La logique est simple et directe, facile à comprendre et à mettre en œuvre.

  2. Il peut rapidement capturer les points de renversement de tendance et ajuster les positions en conséquence.

  3. Il fournit des paramètres de stop loss et de prise de profit optionnels en fonction des préférences personnelles en matière de risque.

  4. Les signaux commerciaux sont clairs, sans trop de faux signaux.

  5. Il y a peu de paramètres configurables, faciles à utiliser.

  6. Flexibilité pour configurer uniquement le long ou le court.

Les risques

Les risques de cette stratégie comprennent:

  1. Le signal de rupture peut être une fausse rupture et ne peut pas être maintenu.

  2. Une mauvaise définition de la période de rupture peut faire oublier les tendances à plus long terme.

  3. Il ne prend pas en compte le volume à la rupture, peut provoquer la poursuite des hauts et tuer les bas.

  4. Il y a un certain retard, peut manquer une bonne partie du mouvement.

  5. Dans un marché volatil, le stop-loss peut être affecté.

  6. Il s'appuie uniquement sur le breakout pour le trading, le profit est incertain.

Améliorations

La stratégie peut être améliorée dans les aspects suivants:

  1. Incorporer un indicateur de volume pour éviter les fausses ruptures.

  2. Optimisez le paramètre de la moyenne mobile pour correspondre aux changements de tendance dans différents cycles.

  3. Définissez un seuil de retrait après l'évasion pour une confirmation ultérieure afin d'éviter une fausse évasion.

  4. Ajoutez des bandes de Bollinger, etc. en plus de la base de rupture pour une orientation plus directionnelle.

  5. Incorporer d'autres indicateurs tels que RSI, MACD pour des signaux de trading supplémentaires et améliorer la précision.

  6. Optimiser les stratégies de stop loss et de profit pour mieux faire face aux fluctuations du marché tout en contrôlant les risques.

Résumé

La stratégie de trading de rupture a une logique claire de suivi de la rupture de prix des bandes supérieures et inférieures pour l'entrée et la sortie. Il y a beaucoup de place pour l'amélioration, en incorporant plus d'informations sur les indicateurs et en optimisant les paramètres pour renforcer la stratégie. Après s'être familiarisé avec la logique de base, les traders peuvent personnaliser les paramètres en fonction de leurs besoins et obtenir de bons résultats de trading.


/*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()

Plus de