Stratégie de trading de réseau intelligent avec retracement de prix MA100 à plusieurs plages

SMA MA ATR
Date de création: 2025-02-19 11:12:51 Dernière modification: 2025-02-19 11:12:51
Copier: 0 Nombre de clics: 693
1
Suivre
1617
Abonnés

Stratégie de trading de réseau intelligent avec retracement de prix MA100 à plusieurs plages

Aperçu

La stratégie est un système de négociation multi-zones de grille basé sur les moyennes mobiles MA100. Elle permet la constitution de positions par lots en définissant différentes zones de retrait de prix (−8, 15 et 20%) et les achats progressifs en cas de baisse importante du marché et les gains lorsque le prix rebondit de 3%. La stratégie utilise la logique de la grille intelligente pour contrôler les risques en limitant le nombre maximal de positions et l’intervalle de négociation dans chaque zone.

Principe de stratégie

La logique de base de la stratégie comprend les éléments suivants:

  1. Prix de référence utilisant une moyenne mobile simple à 100 cycles (SMA) comme stratégie
  2. Il y a trois niveaux d’achat:
    • Zone 2: Retraite de 8%, maximum de 2 transactions sont autorisées
    • Zone 3: Retraite de 15% et maximum de 3 transactions autorisées
    • Zone 4: Retraite de 20% et maximum de 4 transactions autorisées
  3. Conditions de placement unifiées: lorsque le prix rebondit au-delà de 3% de la MA100
  4. Chaque tranche est réglée sur un intervalle de transaction minimum de 50 cycles de ligne K pour éviter des transactions trop fréquentes

Avantages stratégiques

  1. Le coût de la construction d’un entrepôt multicouche est réduit
  2. L’idée d’une grille de négociation permet de saisir des opportunités dans des conditions de forte volatilité
  3. Limite de détention maximale et intervalle de négociation pour contrôler efficacement les risques
  4. La logique de la stratégie est simple, facile à comprendre et à maintenir.
  5. Convient pour un environnement de marché à forte volatilité
  6. L’exécution peut être automatisée sans intervention humaine.

Risque stratégique

  1. Un retrait plus important est possible dans une tendance à la baisse continue
  2. Une plus grande envergure de fonds est nécessaire pour soutenir la construction d’entrepôts multicast
  3. Les conditions de placement sont relativement simples et peuvent laisser une marge plus grande.
  4. Le fait de ne pas tenir compte de l’évolution globale du marché peut entraîner une mauvaise performance dans des conditions tendancielles.
  5. Les paramètres de pourcentage fixes peuvent ne pas s’appliquer à tous les environnements de marché

Orientation de l’optimisation de la stratégie

  1. L’introduction d’indicateurs de jugement de tendance et l’ajustement des paramètres de stratégie dans les tendances fortes
  2. Optimisation des mécanismes de liquidation, permettant de modifier dynamiquement les objectifs de profit en fonction des fluctuations du marché
  3. Ajout d’un module de contrôle des risques, définition d’une limite de position globale et de conditions de stop loss
  4. Introduction d’indicateurs de volatilité comme l’ATR, qui modifient dynamiquement les intervalles de construction de positions
  5. Optimisation du mécanisme d’intervalle des transactions, qui peut être ajusté en fonction de la dynamique du marché

Résumer

Cette stratégie a une meilleure capacité de résistance au risque en cas de retournement majeur du marché. Bien que certains risques potentiels existent, des paramètres raisonnables et des mesures de contrôle des risques permettent d’obtenir un effet de négociation stable. La possibilité d’optimiser davantage réside principalement dans l’ajout de plus d’indicateurs d’adaptation au marché et l’amélioration des mécanismes de contrôle des risques.

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

//@version=5
// BTC SOL ETH BNB XMR RNDR AKT OM ONDO IO

strategy("MA100 crash buy 3 Zone // 15 min", overlay=true, calc_on_every_tick=true)

// Définition des MA
maH1 = ta.sma(close, 100)
maB2 = ta.sma(close, 100)
maB3 = ta.sma(close, 100)
maB4 = ta.sma(close, 100)

// Définition du niveau d'achat et de vente
sellLevel1 = maH1 * 1.03 //+3%
buyLevel2 = maB2 * 0.92 //-8%
buyLevel3 = maB2 * 0.85 //-15%
buyLevel4 = maB2 * 0.80 //-20%



// Nombre max de trades simultanés
maxTrades2 = 2
maxTrades3 = 3
maxTrades4 = 4

// Délais entre deux ordres (en bougies)
tradeDelay = 50
var float lastTradeTime = na
var float lastSellTime = na
tradeDelay2 = 50
var float lastTradeTime2 = na
tradeDelay3 = 50
var float lastTradeTime3 = na
tradeDelay4 = 50
var float lastTradeTime4 = na

// Condition d'achat et de vente
buyCondition2 = low <= buyLevel2 and strategy.opentrades < maxTrades2 and (na(lastTradeTime2) or bar_index - lastTradeTime2 > tradeDelay2)
buyCondition3 = low <= buyLevel3 and strategy.opentrades < maxTrades3 and (na(lastTradeTime3) or bar_index - lastTradeTime3 > tradeDelay3)
buyCondition4 = low <= buyLevel4 and strategy.opentrades < maxTrades4 and (na(lastTradeTime4) or bar_index - lastTradeTime4 > tradeDelay4)
sellCondition = strategy.position_size > 0 and high >= sellLevel1 and (na(lastSellTime) or bar_index - lastSellTime > tradeDelay)

if buyCondition2
    strategy.entry("Buy", strategy.long)
    lastTradeTime2 := bar_index  // Enregistre le moment du trade

if buyCondition3
    strategy.entry("Buy", strategy.long)
    lastTradeTime3 := bar_index  // Enregistre le moment du trade

if buyCondition4
    strategy.entry("Buy", strategy.long)
    lastTradeTime4 := bar_index  // Enregistre le moment du trade

if sellCondition
    strategy.close("Buy")  // Ferme 50% de toutes les positions ouvertes // , qty_percent=30
    lastSellTime := bar_index  // Enregistre le moment du trade


// Affichage des niveaux
plot(sellLevel1, color=#fa930d, title="Sell Level")
plot(buyLevel2, color=#15bbfd, title="Buy Level")
plot(buyLevel3, color=#1229aa, title="Buy Level")
plot(buyLevel4, color=#9812aa, title="Buy Level")