Stratégie de percée de l'oscillation à sept bougies

Auteur:ChaoZhang est là., Date: 2023-12-15 16h14 et 32 min
Les étiquettes:

img

Résumé

La stratégie de percée de l'oscillation de sept bougies détecte la persistance des modèles de bougies vers le haut et vers le bas formés par sept lignes K pour déterminer les tendances de l'oscillation du marché et effectuer des opérations de percée à des moments fixes pour réaliser des bénéfices.

Principe de stratégie

La logique de base de cette stratégie repose sur deux indicateurs:

  1. septReds: détection de 7 lignes K décroissantes consécutives, définies comme une tendance à la baisse des oscillations du marché
  2. septverts: détection de 7 lignes K ascendantes consécutives, définies comme une tendance à la hausse de l'oscillation du marché

Quand sept rouges sont détectés, allez long; quand sept verts sont détectés, allez court.

En outre, la stratégie ferme également des positions à des heures fixes (heure de publication des données importantes aux États-Unis) chaque jour afin d'obtenir des bénéfices.

Analyse des avantages

La stratégie de percée de l'oscillation à sept bougies présente les avantages suivants:

  1. Capture les tendances d'oscillation du marché.
  2. L'opération chronométrée évite les risques systémiques associés à de grands écarts autour des principales données économiques
  3. La prise de bénéfices en temps opportun bloque les gains et réduit les prélèvements

Analyse des risques

La stratégie de percée de l'oscillation à sept bougies comporte également certains risques:

  1. Risque d'erreur de reconnaissance de modèle: sept lignes K ne peuvent pas filtrer complètement le bruit et peuvent générer des signaux incorrects
  2. Manque de mesures d'arrêt des pertes pour limiter les pertes par transaction
  3. Les délais de prise de bénéfices ne peuvent pas être ajustés de façon dynamique, risque de non prise de bénéfices à temps

Solution correspondante:

  1. Augmenter le nombre de lignes K, augmenter le seuil de persistance
  2. Ajouter une logique de stop loss en mouvement
  3. Ajustez dynamiquement le temps de réalisation des bénéfices en fonction des indicateurs de volatilité

Directions d'optimisation

La stratégie de percée des sept oscillations de chandeliers peut être optimisée dans les aspects suivants:

  1. Ajout de plusieurs pools de sécurité pour la rotation d'indices/secteurs
  2. Ajouter des modèles d'apprentissage automatique pour faciliter la prédiction du régime du marché
  3. Incorporer des moyennes mobiles pour des signaux d'entrée optimisés
  4. Ajustez dynamiquement la taille des positions en fonction du tirage pour contrôler le risque

Conclusion

La stratégie de percée de l'oscillation à sept bougies profite en capturant les tendances d'oscillation à court terme sur le marché, tout en utilisant une exécution chronométrée pour éviter les risques majeurs et en tirant des bénéfices pour verrouiller les gains.


/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 10m
basePeriod: 1m
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/
// © Eliza123123

//@version=5
strategy("Breakeven Line Demo", overlay=true)

// Generic signal (not a viable strategy don't use, just some code I wrote quick for demo purposes only)
red = open > close, green = open < close
sevenReds = red and red[1] and red[2] and red[3] and red[4] and red[5] and red[6]
sevenGreens = green and green[1] and green[2] and green[3] and green[4] and green[5] and green[6]
if sevenReds
    strategy.entry('Buy', direction=strategy.long)
if sevenGreens
    strategy.entry('Sell', direction=strategy.short)
if (hour == 5 and minute == 0 ) or (hour == 11 and minute == 0) or (hour == 17 and minute == 0 ) or (hour == 23 and minute == 0) 
    strategy.close_all("Close")

// Breakeven line for visualising breakeven price on stacked orders.  
var breakEvenLine = 0.0
if strategy.opentrades > 0 
    breakEvenLine := strategy.position_avg_price
else
    breakEvenLine := 0.0
color breakEvenLineColor = na
if strategy.position_size > 0
    breakEvenLineColor := #15FF00
if strategy.position_size < 0
    breakEvenLineColor := #FF000D
plot(breakEvenLine, color = breakEvenLine and breakEvenLine[1] > 0 ? breakEvenLineColor : na, linewidth = 2, style = plot.style_circles)



Plus de