- Quadrat
- MA99 Touch und dynamische Stop-Loss-Strategie
MA99 Touch und dynamische Stop-Loss-Strategie
Schriftsteller:
ChaoZhang, Datum: 2024-04-29 16:59:41
Tags:
SMAMA99
Übersicht
Diese Strategie basiert auf dem 99-Perioden-Simple Moving Average (MA99) zur Bestimmung von Handelssignalen. Wenn der Preis den MA99 berührt, kann eine Position ohne Bestätigung von zwei Kerzen eröffnet werden. Der Stop-Loss verwendet einen dynamischen Ansatz, dh wenn der Preis den MA99 durchbricht und in der nächsten Kerze bestätigt wird, wird die Position für den Stop-Loss geschlossen. Diese Strategie zielt darauf ab, Preisschwankungen um den MA99 zu erfassen und gleichzeitig das Risiko durch dynamischen Stop-Loss zu kontrollieren.
Strategieprinzipien
- Berechnen Sie den einfachen gleitenden Durchschnitt MA99 für 99 Perioden.
- Bestimmen Sie, ob der aktuelle Preis den MA99 berührt, d. h. der niedrigste Preis ist größer oder gleich dem MA99 und der höchste Preis größer oder gleich dem MA99.
- Wenn der Preis den MA99 berührt und der Schlusskurs über dem MA99 liegt, gehen Sie lang; wenn der Preis den MA99 berührt und der Schlusskurs unter dem MA99 liegt, gehen Sie kurz.
- Bei Long-Positionen wird die Position geschlossen, wenn der Schlusskurs unter den MA99 fällt und in der nächsten Kerze wieder bestätigt wird; bei Short-Positionen, wenn der Schlusskurs über den MA99 fällt und in der nächsten Kerze wieder bestätigt wird, wird die Position geschlossen.
- Bei jeder Eröffnung einer Position wird der aktuelle MA99 als Stop-Loss-Preis festgelegt; nach Abschluss jeder Position wird der Stop-Loss-Preis zurückgesetzt.
Strategische Vorteile
- Einfach und einfach zu bedienen: Diese Strategie basiert auf einem einzigen Indikator, dem MA99, mit klaren und einfachen Regeln, die leicht zu verstehen und umzusetzen sind.
- Dynamischer Stop-Loss: Im Vergleich zu einem festen Stop-Loss kann sich ein dynamischer Stop-Loss besser an Marktveränderungen anpassen und das Risiko rechtzeitig kontrollieren.
- Der Markt wird von den Marktteilnehmern in den kommenden Jahren weiterentwickelt.
- Geräuschminderung: Im Vergleich zur Verwendung von gleitenden Durchschnitten mit kürzeren Perioden kann der gleitende Durchschnitt mit 99 Perioden kurzfristige Schwankungsgeräusche effektiv filtern.
Strategische Risiken
- Parameteroptimierung: Diese Strategie verwendet nur den Parameter 99, der möglicherweise nicht der optimale Parameter ist.
- Unruhige Märkte: In unruhigen Märkten können die Preise häufig um MA99 schwanken, was möglicherweise zu häufigen Geschäften und Verlusten führt.
- Trendumkehrung: Wenn sich der Trend umkehrt und der Kurs den MA99 durchbricht, kann diese Strategie weiterhin Positionen in die falsche Richtung halten, was zu Verlusten führt.
- Schlupfkosten: Häufiges Handeln kann zu höheren Schlupfkosten und Transaktionskosten führen, was sich auf die Rentabilität der Strategie auswirkt.
Strategieoptimierungsrichtlinien
- Einführung von Trendfiltern: Bei der Bestimmung von Eintrittssignalen können andere Trendindikatoren wie MACD, ADX usw. eingesetzt werden, um die Stärke und Richtung des Trends zu bestätigen und die Eintrittsqualität zu verbessern.
- Optimierung der Parameter: Optimierung von Parametern wie der MA-Periode und den Stop-Loss-Bedingungen, um die beste Parameterkombination zu finden und die Robustheit der Strategie zu verbessern.
- Einbeziehung der Positionsgröße: Dynamische Anpassung der Positionsgröße anhand von Faktoren wie Markttrendstärke und Volatilität zur Kontrolle des Zugriffsrisikos.
- Berücksichtigen Sie die Handelskosten: Bei Backtesting und Live-Handel sollten Kostenfaktoren wie Handelsverschiebungen und Provisionen berücksichtigt werden, um die tatsächliche Leistung der Strategie zu bewerten.
Zusammenfassung
Die MA99 Touch and Dynamic Stop-Loss Strategie eröffnet Positionen basierend auf der Beziehung zwischen Preis und MA99 und nutzt dynamische Stop-Loss, um das Risiko zu kontrollieren. Diese Strategie ist einfach und einfach zu bedienen, in der Lage, mittelfristigen bis langfristigen Trends zu folgen, kann aber mit dem Problem des häufigen Handels in unruhigen Märkten konfrontiert sein. Durch die Einführung anderer Indikatoren für das Filtern, die Optimierung von Parametern, das Management von Positionen und die Berücksichtigung von Kosten können die Leistung und Robustheit dieser Strategie weiter verbessert werden.
/*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
Verwandt
Mehr