Stratégie quantitative de flux de commandes institutionnels à plusieurs niveaux et système d'optimisation dynamique des entrepôts

PCT VOL MA OB
Date de création: 2024-12-27 15:01:36 Dernière modification: 2024-12-27 15:01:36
Copier: 1 Nombre de clics: 519
1
Suivre
1617
Abonnés

Stratégie quantitative de flux de commandes institutionnels à plusieurs niveaux et système d’optimisation dynamique des entrepôts

Aperçu

La stratégie est un système de trading intelligent basé sur le flux d’ordres institutionnels, qui prédit les points potentiels de retournement de prix en identifiant les blocs d’ordres sur le marché. Le système adopte une solution de gestion dynamique de sous-entrepôt pour optimiser la gestion des positions via des positions cibles à trois niveaux afin de maximiser les profits. Le cœur de la stratégie consiste à capturer les traces de prix générées par le comportement de trading institutionnel et à identifier les niveaux de prix importants grâce à une analyse statistique des points hauts et bas.

Principe de stratégie

La stratégie repose sur plusieurs éléments clés :

  1. Identification des blocs d’ordres - Identifiez les blocs d’ordres d’achat et de vente en analysant les modèles de chandeliers à l’aide d’une fenêtre de rétrospection de 20 périodes. Un bloc d’achat est confirmé par la coopération de la bougie baissière précédente et de la bougie haussière actuelle, tandis que l’inverse est vrai pour un bloc de vente.
  2. Contrôle du temps de négociation - limitez les transactions à la période de négociation principale de 09h30 à 16h00, en évitant les périodes d’ouverture et de fermeture avec une volatilité plus élevée.
  3. Logique d’entrée : ouvrez une position longue lorsque le prix franchit le bloc d’ordres d’achat et se trouve dans la séance de négociation, et ouvrez une position courte lorsque le prix franchit le bloc d’ordres de vente.
  4. Gestion d’entrepôt - adopte un plan de gestion d’entrepôt à trois niveaux de 50%-30%-20%, correspondant à des positions cibles de 0,5%, 1,0% et 1,5% respectivement.

Avantages stratégiques

  1. Identification intelligente des ordres - Capturez avec précision les points de prix clés pour les grands fonds afin d’ouvrir et de fermer des positions grâce à une analyse dynamique des points hauts et bas.
  2. Diversification des risques – La conception de l’entrepôt à trois niveaux diversifie efficacement les risques, garantissant que les bénéfices sont empochés en toute sécurité tout en laissant aux tendances une marge de manœuvre suffisante pour se développer.
  3. Filtrage temporel – En limitant le temps de négociation, nous pouvons éviter les périodes de forte volatilité du marché et améliorer la stabilité des transactions.
  4. Prise en charge de la visualisation - La stratégie fournit une visualisation claire des blocs d’ordres, ce qui permet aux traders de mieux comprendre la structure du marché.

Risque stratégique

  1. Risque de fausse cassure – Dans un marché latéral, il peut y avoir plusieurs faux signaux de cassure. Il est recommandé de les filtrer en combinaison avec des indicateurs de volatilité.
  2. Impact du glissement - Dans un marché avec une liquidité insuffisante, la prise de bénéfices fractionnée peut être affectée par le glissement. Il est recommandé d’ajuster l’intervalle de position cible en conséquence.
  3. Dépendance à la tendance – Les stratégies fonctionnent mieux sur les marchés à tendance, mais peuvent générer des transactions fréquentes sur les marchés volatils.

Orientation de l’optimisation de la stratégie

  1. Adaptation à la volatilité - Il est recommandé d’introduire l’indicateur ATR pour ajuster dynamiquement le pourcentage cible en fonction des fluctuations du marché.
  2. Analyse du flux de commandes - peut être combinée avec l’analyse du volume pour augmenter la confirmation des blocs de commandes.
  3. Fenêtre temporelle dynamique : envisagez d’ajuster de manière dynamique la période de rétrospection en fonction des conditions du marché pour améliorer l’adaptabilité de la stratégie.
  4. Contrôle des risques amélioré - ajout d’une limite de retrait maximale et d’une limite de perte quotidienne pour améliorer la robustesse de la stratégie.

Résumer

Cette stratégie construit un système de trading complet grâce à l’analyse des flux d’ordres institutionnels et à la gestion dynamique des entrepôts. Grâce à l’identification de blocs d’ordres et à la définition de stop-profit à plusieurs niveaux, nous pouvons saisir des opportunités pour des opérations de capital importantes et obtenir un contrôle efficace des risques. Il est recommandé aux traders de prêter attention au choix de l’environnement de marché dans le trading réel et d’ajuster les paramètres en fonction des circonstances spécifiques.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=6
strategy("Institutional Order Flow Strategy", overlay=true)

// Input settings
inputSession = input("0930-1600", "Trading Session") // Trading session
lookbackPeriod = input.int(20, "Order Block Lookback Period", minval=1) // Lookback for Order Blocks
target1Pct = input.float(0.5, "Target 1 (% move)", step=0.1, minval=0.1) // First profit target
target2Pct = input.float(1.0, "Target 2 (% move)", step=0.1, minval=0.1) // Second profit target
target3Pct = input.float(1.5, "Target 3 (% move)", step=0.1, minval=0.1) // Third profit target

// Order Block identification
highestHigh = ta.highest(high, lookbackPeriod)
lowestLow = ta.lowest(low, lookbackPeriod)
orderBlockBuy = ta.valuewhen(close[1] < open[1] and close > open, highestHigh, 0)
orderBlockSell = ta.valuewhen(close[1] > open[1] and close < open, lowestLow, 0)

// Entry logic
inSession = true
longCondition = close > orderBlockBuy and inSession
shortCondition = close < orderBlockSell and inSession

// Strategy entries
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Calculate targets for scaling out
longTarget1 = strategy.position_avg_price + strategy.position_avg_price * target1Pct / 100
longTarget2 = strategy.position_avg_price + strategy.position_avg_price * target2Pct / 100
longTarget3 = strategy.position_avg_price + strategy.position_avg_price * target3Pct / 100

shortTarget1 = strategy.position_avg_price - strategy.position_avg_price * target1Pct / 100
shortTarget2 = strategy.position_avg_price - strategy.position_avg_price * target2Pct / 100
shortTarget3 = strategy.position_avg_price - strategy.position_avg_price * target3Pct / 100

// Exit logic with scaling out
if strategy.position_size > 0
    strategy.exit("Target 1", from_entry="Long", limit=longTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Long", limit=longTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Long", limit=longTarget3, qty_percent=20)

if strategy.position_size < 0
    strategy.exit("Target 1", from_entry="Short", limit=shortTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Short", limit=shortTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Short", limit=shortTarget3, qty_percent=20)

// Visualize Order Blocks
plot(orderBlockBuy, "Order Block Buy", color=color.green, linewidth=2, style=plot.style_line)
plot(orderBlockSell, "Order Block Sell", color=color.red, linewidth=2, style=plot.style_line)