Multi-Range MA100 Preis-Retracement Smart Grid Handelsstrategie

SMA MA ATR
Erstellungsdatum: 2025-02-19 11:12:51 zuletzt geändert: 2025-02-19 11:12:51
Kopie: 0 Klicks: 693
1
konzentrieren Sie sich auf
1617
Anhänger

Multi-Range MA100 Preis-Retracement Smart Grid Handelsstrategie

Überblick

Die Strategie ist ein Multi-Branch-Gitter-Handelssystem, basierend auf einem MA100-Moving Average. Sie ermöglicht die Positionserstellung in Scherben, indem sie verschiedene Preisrückziehungsbereiche (~ -8%, ~ 15% und ~ 20%) festlegt. Sie kauft nach und nach, wenn der Markt einen größeren Rückgang verzeichnet, und profitiert, wenn der Preis um 3% zurückgibt. Die Strategie verwendet die Denkweise eines intelligenten Gitter, um das Risiko zu kontrollieren, indem die maximale Anzahl der Positionen in jedem Bereich und die Handelsintervalle begrenzt werden.

Strategieprinzip

Die Kernlogik der Strategie beinhaltet folgende Aspekte:

  1. Benchmarkpreise mit einem 100-Zyklus-SMA als Strategie
  2. Es gibt drei Einkaufsbereiche:
    • Bereich 2: Preisrückgang um 8% und maximal 2 Transaktionen erlaubt
    • Bereich 3: Preisrückgang von 15%, maximal 3 Transaktionen erlaubt
    • Bereich 4: Preisrückgang um 20% und maximal 4 Transaktionen erlaubt
  3. Einheitliche Nachlassbedingungen: Wenn der Preis über 3% von MA100 zurückschlägt
  4. Jeder Bereich wurde mit einem Minimalintervall von 50 K-Linie-Zyklen ausgestattet, um zu häufige Transaktionen zu vermeiden.

Strategische Vorteile

  1. Mehrfach-Schichtbau reduziert die Baukosten
  2. Die Grid-Trading-Idee, die Chancen bei starken Schwankungen erfasst
  3. Maximale Positionsbeschränkungen und Handelsspalten, um Risiken zu kontrollieren
  4. Die Strategie ist einfach zu verstehen und zu pflegen
  5. Marktumgebung mit hoher Volatilität
  6. Automatische Ausführung ohne menschliche Intervention

Strategisches Risiko

  1. In einer anhaltenden Abwärtstrend könnte es zu einem größeren Rückzug kommen.
  2. Mehrflächige Lagerung erfordert größere finanzielle Mittel
  3. Die Lage ist relativ einfach und könnte einen größeren Aufwärtstrend verpassen
  4. Der Markt kann sich in einer Trendbewegung schlechter entwickeln, ohne die Gesamttrends zu berücksichtigen.
  5. Festgelegte Prozentparameter sind möglicherweise nicht für alle Marktumstände geeignet

Richtung der Strategieoptimierung

  1. Einführung von Trendmessgrößen, Anpassung von Strategieparametern bei starken Trends
  2. Optimierung der Nachlassmechanismen, um die Gewinnziele dynamisch an Marktschwankungen anzupassen
  3. Erweiterung der Risikokontrollmodule und Einstellung der Gesamtpositionsbeschränkungen und Stop-Loss-Bedingungen
  4. Einführung von Volatilitätsindikatoren (z. B. ATR), dynamische Anpassung der Positionsräume
  5. Optimierung der Intervallmechanismen, die sich dynamisch an die Marktsituation anpassen lassen

Zusammenfassen

Die Strategie bietet eine bessere Risikobereitschaft, wenn die Märkte stark rückläufig sind. Die Strategie bietet eine bessere Risikobereitschaft, wenn die Märkte stark rückläufig sind. Obwohl einige potenzielle Risiken vorhanden sind, können durch vernünftige Parameter-Einstellungen und Risikokontrollmaßnahmen stabile Handelswirkung erzielt werden.

Strategiequellcode
/*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")