MA99-Kontakt und dynamische Stop-Loss-Strategie

SMA MA99
Erstellungsdatum: 2024-04-29 16:59:41 zuletzt geändert: 2024-04-29 16:59:41
Kopie: 1 Klicks: 1024
1
konzentrieren Sie sich auf
1617
Anhänger

MA99-Kontakt und dynamische Stop-Loss-Strategie

Überblick

Die Strategie basiert auf einem 99-Zyklus-Simple Moving Average ((MA99)), um die Handelssignale zu beurteilen. Die Position kann eröffnet werden, wenn der Preis MA99 berührt, ohne dass zwei K-Linien bestätigt werden müssen. Die Stop-Loss-Strategie verwendet einen dynamischen Stop-Loss, d. h. einen Plateau-Stopp, wenn der Preis MA99 durchbricht und in der nächsten K-Linie bestätigt wird. Die Strategie zielt darauf ab, die Preisschwankungen in der Nähe von MA99 zu erfassen und gleichzeitig das Risiko durch einen dynamischen Stop-Loss zu kontrollieren.

Strategieprinzip

  1. Berechnen Sie einen 99-Zyklus-Simplem Moving Average MA99。
  2. Beurteilen Sie, ob der aktuelle Preis den MA99 erreicht, d.h. der niedrigste Preis liegt unter und der höchste liegt über dem MA99.
  3. Wenn der Preis MA99 berührt und der Schlusskurs über MA99 liegt, machen Sie einen Plus; wenn der Preis MA99 berührt und der Schlusskurs unter MA99 liegt, machen Sie einen Minus.
  4. Bei einer mehrköpfigen Position ist der Schlusskurs plat, wenn er unter MA99 fällt und die nächste K-Linie erneut bestätigt wird. Bei einer leeren Position ist der Schlusskurs plat, wenn der Schlusskurs MA99 überschreitet und die nächste K-Linie erneut bestätigt wird.
  5. Jedes Mal, wenn eine Position eröffnet wird, wird der aktuelle MA99 als Stop-Loss-Preis eingestellt. Nach jedem Platzierung wird der Stop-Loss-Preis neu eingestellt.

Strategische Vorteile

  1. Einfachheit: Die Strategie basiert auf einem einzigen Indikator MA99, die Regeln sind klar und einfach zu verstehen und umzusetzen.
  2. Dynamische Stopps: Im Vergleich zu festen Stopps sind dynamische Stopps besser geeignet, sich an Marktveränderungen anzupassen und Risiken rechtzeitig zu kontrollieren.
  3. Trend-Tracking: Der MA99 repräsentiert die mittlere und langfristige Tendenz, eröffnet Positionen, wenn der Preis den MA99 berührt, und ist in der Lage, die Richtung der Hauptrend zu verfolgen.
  4. Geräuschminderung: Die 99-Perioden-Mittellinie filtert kurzfristige Schwankungen im Vergleich zu einer mittleren Linie mit kürzeren Perioden wirksam.

Strategisches Risiko

  1. Parameteroptimierung: Die Strategie verwendet nur die Parameter 99, die möglicherweise nicht optimal sind und die optimale Parameter durch Rückmessung und Optimierung ermitteln müssen.
  2. Schwankmarkt: In einem Schwankmarkt schwanken die Preise häufig in der Nähe von MA99, was zu häufigem Handel und Verlusten führen kann.
  3. Trendwechsel: Wenn der Trendwechsel passiert und der Preis den MA99 überschreitet, kann die Strategie weiterhin Verluste durch Positionen in der falschen Richtung erleiden.
  4. Schlupfpunktkosten: Häufige Transaktionen können zu höheren Schlupfpunkten und Transaktionskosten führen, was die strategischen Erträge beeinträchtigt.

Richtung der Strategieoptimierung

  1. Einführung von Trendfiltern: Bei der Beurteilung von Positionsöffnungssignalen können andere Trendindikatoren wie MACD, ADX usw. kombiniert werden, um die Stärke und Richtung des Trends zu bestätigen und die Positionsöffnungsqualität zu verbessern.
  2. Optimierungsparameter: Optimierung von Parametern wie MA-Zyklen, Stop-Loss-Bedingungen, um die optimale Kombination von Parametern zu finden und die Strategie zu verbessern.
  3. Positionsverwaltung: Positionsgröße wird dynamisch angepasst, um Rücknahme-Risiken zu kontrollieren, abhängig von der Stärke der Markttrends und der Volatilität.
  4. Berücksichtigung der Transaktionskosten: In Rückprüfungen und Realismus sollten Kostenfaktoren wie Transaktionsgleitpunkte und Gebühren berücksichtigt werden, um die tatsächliche Leistung der Strategie zu bewerten.

Zusammenfassen

Die MA99-Exposure-und-Dynamic-Stop-Strategie eröffnet Positionen, indem sie die Beziehung zwischen dem Preis und der MA99 beurteilt, und verwendet Dynamic-Stop-Strategie, um das Risiko zu kontrollieren. Die Strategie ist einfach zu bedienen und kann mittel- und langfristigen Trends folgen, kann aber in einem unsicheren Markt mit häufigen Handelsproblemen konfrontiert werden. Die Strategie kann durch die Einführung von Maßnahmen wie Filterung anderer Indikatoren, Optimierungsparameter, Positionsmanagement und Berücksichtigung von Kosten weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
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/


//@version=5
strategy("MA99 Temas ve Dinamik Stop-Loss Stratejisi", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// MA99 hesaplayalım
ma99 = ta.sma(close, 99)
plot(ma99, color=color.blue, title="MA99")

// Fiyatın MA99'a temas edip etmediğini kontrol edelim
priceTouchedMA99 = (low <= ma99 and high >= ma99)

// Long ve short koşullarını tanımlayalım
longCondition = priceTouchedMA99 and close > ma99
shortCondition = priceTouchedMA99 and close < ma99

var float longStopLoss = na
var float shortStopLoss = na

var int longStopTriggered = 0
var int shortStopTriggered = 0

// Alım veya satım sinyallerine göre işlemleri başlatalım ve stop-loss ayarlayalım
if (longCondition)
    strategy.entry("Long Entry", strategy.long)
    longStopLoss := ma99
    longStopTriggered := 0

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)
    shortStopLoss := ma99
    shortStopTriggered := 0

// Stop-loss koşullarını ve iki mum kuralını kontrol edelim
if (not na(longStopLoss))
    if (close < longStopLoss)
        longStopTriggered := 1
    else
        longStopTriggered := 0

    if (longStopTriggered[1] == 1 and close < longStopLoss)  // Bir önceki mumda tetiklendi ve hala altında
        strategy.close("Long Entry", comment="Stop Loss Long")
        longStopLoss := na
        longStopTriggered := 0

if (not na(shortStopLoss))
    if (close > shortStopLoss)
        shortStopTriggered := 1
    else
        shortStopTriggered := 0

    if (shortStopTriggered[1] == 1 and close > shortStopLoss)  // Bir önceki mumda tetiklendi ve hala üstünde
        strategy.close("Short Entry", comment="Stop Loss Short")
        shortStopLoss := na
        shortStopTriggered := 0