Stratégie de tendance de rupture de prix Leapfrog, système de trading quantitatif basé sur des niveaux de prix clés sur plusieurs périodes

HOD LOD PMH PML PDH PDL MA RSI ATR ADX
Date de création: 2025-01-06 16:06:30 Dernière modification: 2025-01-06 16:06:30
Copier: 1 Nombre de clics: 328
1
Suivre
1617
Abonnés

Stratégie de tendance de rupture de prix Leapfrog, système de trading quantitatif basé sur des niveaux de prix clés sur plusieurs périodes

Aperçu

La stratégie est un système de trading basé sur plusieurs niveaux de prix clés. Il suit principalement six points clés : le plus haut intrajournalier (HOD), le plus bas intrajournalier (LOD), le plus haut pré-marché (PMH), le plus bas pré-marché (PML), le plus haut de la veille (PDH) et le plus bas de la veille (PDL). niveaux, les signaux de trading sont générés par la rupture des prix à travers ces niveaux. La stratégie utilise le trading automatisé pour exécuter des opérations d’achat et de vente en fonction des franchissements de prix de niveaux clés.

Principe de stratégie

La logique fondamentale de la stratégie comprend les éléments clés suivants :

  1. Calcul des niveaux de prix clés : utilisez la fonction request.security pour obtenir des données de prix pour différentes périodes et calculer six niveaux de prix clés.
  2. Définition des conditions d’ouverture : ouvrir une position longue lorsque le prix franchit le PMH ou le PDH à la hausse ; ouvrir une position courte lorsque le prix franchit le PML ou le PDL à la baisse.
  3. Définition des conditions de clôture : lorsque la position longue est maintenue, si le prix atteint HOD, la position est fermée ; lorsque la position courte est maintenue, si le prix atteint LOD, la position est fermée.
  4. Visualisation graphique : utilisez des lignes horizontales de différentes couleurs pour marquer chaque niveau de prix, blanc pour HOD, violet pour LOD, orange pour PDH, bleu pour PDL, vert pour PMH et rouge pour PML.

Avantages stratégiques

  1. Référence de prix multidimensionnelle : comprenez de manière globale les tendances du marché en surveillant les niveaux de prix clés sur plusieurs périodes.
  2. La logique du trading révolutionnaire est claire : les signaux de trading sont générés en fonction des percées de prix, et les règles de trading sont claires et faciles à comprendre.
  3. Haut degré d’automatisation : le système calcule automatiquement différents niveaux de prix et exécute les transactions, réduisant ainsi l’intervention humaine.
  4. Effet de visualisation puissant : chaque niveau de prix est affiché intuitivement via des lignes horizontales de différentes couleurs, ce qui est pratique pour l’analyse et le jugement.
  5. Forte adaptabilité : la stratégie peut être appliquée à différents produits de trading et périodes.

Risque stratégique

  1. Risque de fausse cassure : Le marché peut connaître une fausse cassure entraînant un faux signal.
  2. Dépendance à la volatilité : les stratégies peuvent être peu performantes dans des environnements à faible volatilité.
  3. Contrôle des risques insuffisant : absence de mécanismes dynamiques de stop-loss et de prise de bénéfices.
  4. Dépendance à l’environnement du marché : peut évoluer fréquemment sur un marché latéral où la tendance n’est pas évidente.
  5. Impact du glissement : vous pouvez être confronté à un glissement plus important sur les marchés à faible liquidité.

Orientation de l’optimisation de la stratégie

  1. Ajouter un filtrage des indicateurs techniques :
  • Présentation de l’indicateur RSI pour filtrer le surachat et la survente
  • Utilisation de l’ATR pour définir un stop loss dynamique
  • Combinez l’ADX pour déterminer la force de la tendance
  1. Améliorer la gestion des risques :
  • Mettre en place un mécanisme de stop loss dynamique
  • Ajout de la fonction d’arrêt suiveur
  • Mettre en place un mécanisme de profit par lots
  1. Confirmation du signal d’optimisation :
  • Confirmation d’augmentation du volume
  • Ajout de la confirmation de tendance sur plusieurs périodes
  • Configurer un mécanisme de confirmation du retard du signal

Résumer

Cette stratégie permet de saisir les opportunités du marché en surveillant et en utilisant plusieurs niveaux de prix clés, et se caractérise par une logique claire et un degré élevé d’automatisation. Mais il existe aussi certains risques, qu’il faut optimiser en ajoutant des filtres d’indicateurs techniques, en améliorant les mécanismes de gestion des risques, etc. L’avantage principal de la stratégie réside dans son système de référence de prix multidimensionnel, qui lui permet de mieux saisir les tendances du marché, mais dans l’application réelle, des ajustements de paramètres ciblés sont nécessaires en fonction des différents environnements de marché.

Code source de la stratégie
/*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")