
Die Doppel-Gleichgewichts-Kreuzungsstrategie ist eine klassische Trend-Tracking-Strategie. Die Strategie verwendet zwei unterschiedliche Perioden von Moving Averages, um Markttrends zu erfassen. Wenn die schnelle Mittellinie die langsame Mittellinie durchquert, erzeugt sie ein Mehr-Signal, wenn die schnelle Mittellinie die langsame Mittellinie durchquert, erzeugt sie ein Null-Signal.
Der Strategiecode verwendet zwei Moving Averages, einen schnellen Mittelwert (Standard 14-Periode) und einen langsamen Mittelwert (Standard 28-Periode). Die Moving Average-Typen können aus einfachen Moving Averages (SMA), Index-Moving Averages (EMA), gewichteten Moving Averages (WMA) und relativen Moving Averages (RMA) bestehen.
Die Hauptlogik der Strategie lautet:
Mit dieser Logik kann die Strategie die wichtigsten Trends des Marktes verfolgen, indem sie mehrere Positionen im Aufwärtstrend hält, während der Abwärtstrend eine leere Position oder eine leere Position abwartet. Die Gleichlauf-Periode und -Art können entsprechend den verschiedenen Märkten und Handelsarten optimiert werden.
Die folgenden Maßnahmen können gegen diese Risiken eingesetzt werden:
Diese Optimierungen können die Anpassungsfähigkeit und Stabilität der Strategie verbessern und sie besser an unterschiedliche Marktbedingungen anpassen. Allerdings ist zu beachten, dass eine Überoptimierung zu einer Überpassung der Strategie führen kann, die in der Praxis nicht so gut funktioniert.
Die Doppel-Gleichgewichts-Kreuzung ist eine klassische Trend-Tracking-Strategie, die durch die Kreuzung von Moving Averages in zwei verschiedenen Perioden ein Handelssignal erzeugt. Sie ist einfach und leicht zu implementieren und ist für trendige Märkte geeignet. In einem unruhigen Markt kann es jedoch zu häufigen Geschäften und anhaltenden Verlusten kommen.
/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
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/
// © z4011
//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
float fastMA = switch fastMAType
"Simple" => ta.sma(close, fastMALength)
"Exponential" => ta.ema(close, fastMALength)
"Weighted" => ta.wma(close, fastMALength)
"Relative" => ta.rma(close, fastMALength)
plot(fastMA, color = color.aqua, linewidth = 2)
float slowMA = switch slowMAType
"Simple" => ta.sma(close, slowMALength)
"Exponential" => ta.ema(close, slowMALength)
"Weighted" => ta.wma(close, slowMALength)
"Relative" => ta.rma(close, slowMALength)
plot(slowMA, color = color.blue, linewidth = 2)
longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
strategy.entry("Short", strategy.short)
closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
strategy.close("Long", "Close")