Les ressources ont été chargées... Je charge...

Système de négociation de tendance de rupture du niveau de prix sur plusieurs périodes basé sur des niveaux de prix clés

Auteur:ChaoZhang est là., Date: 2025-01-06 16h06
Les étiquettes:Le cas échéantDépartement d'accueilPMHPMLPDHPDL- Je vous en prie.Indice de résistanceATRADX

img

Résumé

Cette stratégie est un système de négociation de rupture basé sur plusieurs niveaux de prix clés. Il suit principalement six niveaux de prix critiques: haut de la journée (HOD), bas de la journée (LOD), haut du pré-marché (PMH), bas du pré-marché (PML), haut du jour précédent (PDH) et bas du jour précédent (PDL).

Principes de stratégie

La logique de base comprend plusieurs composantes clés:

  1. Calcul des niveaux de prix clés: utilise la fonction request.security pour obtenir des données de prix de différentes périodes afin de calculer six niveaux de prix clés.
  2. Conditions d'entrée: ouvre des positions longues lorsque les prix dépassent PMH ou PDH; ouvre des positions courtes lorsque les prix dépassent PML ou PDL.
  3. Conditions de sortie: Ferme les positions longues lorsque le prix atteint le niveau HOD; ferme les positions courtes lorsque le prix atteint le niveau LOD.
  4. Représentation visuelle: Marque les niveaux de prix avec des lignes horizontales de différentes couleurs - blanc pour HOD, violet pour LOD, orange pour PDH, bleu pour PDL, vert pour PMH et rouge pour PML.

Les avantages de la stratégie

  1. Référence de prix multidimensionnelle: surveille les niveaux de prix clés sur plusieurs périodes pour une analyse complète du marché.
  2. Logique de rupture claire: Génère des signaux de trading basés sur des ruptures de prix avec des règles de trading explicites.
  3. Automatisation élevée: Calcule automatiquement les niveaux de prix et exécute les transactions, réduisant ainsi l'intervention manuelle.
  4. Visualisation forte: affiche les niveaux de prix à travers différentes lignes horizontales colorées pour une analyse intuitive.
  5. Une grande adaptabilité: Elle s'applique à divers instruments de négociation et à différentes périodes.

Risques stratégiques

  1. Risque de fausse rupture: le marché peut générer de fausses ruptures conduisant à des signaux incorrects.
  2. Dépendance de la volatilité: la stratégie peut être moins performante dans des environnements à faible volatilité.
  3. Contrôle insuffisant des risques: manque de mécanismes dynamiques de stop-loss et de prise de profit.
  4. Dépendance de l'environnement du marché: peut générer des transactions fréquentes sur différents marchés.
  5. Impact du glissement: il peut y avoir un glissement significatif sur les marchés moins liquides.

Directions d'optimisation de la stratégie

  1. Ajouter des filtres d'indicateur technique:
  • L'indice de volatilité est calculé sur la base de l'indice de volatilité de la valeur ajoutée.
  • Utiliser l'ATR pour le placement dynamique de stop-loss
  • Intégrer l'ADX pour la confirmation de la force de tendance
  1. Améliorer la gestion des risques:
  • Mettre en œuvre des mécanismes de stop-loss dynamiques
  • Ajouter une fonctionnalité d'arrêt de trail
  • Mettre en place un système de prise de profit à grande échelle
  1. Optimiser la confirmation du signal:
  • Ajouter une confirmation de volume
  • Inclure une confirmation de tendance sur plusieurs périodes
  • Mettre en place un mécanisme de confirmation du retard du signal

Résumé

Cette stratégie capte les opportunités du marché en surveillant et en utilisant plusieurs niveaux de prix clés, avec une logique claire et une automatisation élevée. Cependant, elle comporte également certains risques qui doivent être abordés grâce à des filtres d'indicateurs techniques et à des mécanismes de gestion des risques améliorés.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=6
strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true)

// Daily high and low
dailyhigh = request.security(syminfo.tickerid, 'D', high)
dailylow = request.security(syminfo.tickerid, 'D', low)

// Previous day high and low
var float previousdayhigh = na
var float previousdaylow = na
high1 = request.security(syminfo.tickerid, 'D', high[1])
low1 = request.security(syminfo.tickerid, 'D', low[1])
high0 = request.security(syminfo.tickerid, 'D', high[0])
low0 = request.security(syminfo.tickerid, 'D', low[0])

// Yesterday high and low
if (hour == 9 and minute > 30) or hour > 10
    previousdayhigh := high1
    previousdaylow := low1
else
    previousdayhigh := high0
    previousdaylow := low0

// Premarket high and low
t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day.
is_first = na(t[1]) and not na(t) or t[1] < t
ending_hour = 9
ending_minute = 30

var float pm_high = na
var float pm_low = na

if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    pm_low := low
else 
    pm_high := pm_high[1]
    pm_low := pm_low[1]

if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    
if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_low := low

// Plotting levels
plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true)
plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true)
plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true)
plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true)
plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true)
plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true)

// Strategy logic
// Long entry: Price crosses above PMH or PDH
if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

// Short entry: Price crosses below PML or PDL
if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

// Exit long: Price reaches HOD
if strategy.position_size > 0 and ta.crossover(close, dailyhigh)
    strategy.close("Long")

// Exit short: Price reaches LOD
if strategy.position_size < 0 and ta.crossunder(close, dailylow)
    strategy.close("Short")

Relationnée

Plus de