Quantitative Handelsstrategie mit doppeltem gleitenden Durchschnitt


Erstellungsdatum: 2024-02-04 16:06:46 zuletzt geändert: 2024-02-04 16:06:46
Kopie: 0 Klicks: 606
1
konzentrieren Sie sich auf
1617
Anhänger

Quantitative Handelsstrategie mit doppeltem gleitenden Durchschnitt

Überblick

Die Binary Equilibrium-Breakout-Strategie ist eine eher typische quantitative Handelsstrategie, die Trends verfolgt. Die Strategie beurteilt die Position durch Berechnung von einfachen Moving Averages für verschiedene Perioden und setzt das Handelssignal als Preis-Breakout-Moving Average. Die Strategie verwendet die 20-Tage- und die 60-Tage-Linie als Handelssignal.

Strategieprinzip

Die Kernlogik der Strategie der “Dual Equilibrium Breakthrough” lautet:Die Verwendung von Moving Averages für verschiedene Perioden, um Preistrends zu erfassen und Handelssignale zu senden, wenn die Preise die Moving Averages durchbrechen

Insbesondere wird der 20-Tage-Simple Moving Average und der 60-Tage-Simple Moving Average in dieser Strategie verwendet. Beide Moving Averages können als Werkzeuge für die Erfassung von kurzfristigen und mittelfristigen Trends betrachtet werden. Wenn der kurzfristige Preis den mittelfristigen Preis überschreitet, was bedeutet, dass er sich derzeit in einem Aufwärtstrend befindet, sollte mehr getan werden; wenn der kurzfristige Preis den mittelfristigen Preis überschreitet, was bedeutet, dass er sich derzeit in einem Abwärtstrend befindet, sollte die Position reduziert werden.

Durch den Codeta.crossoverUndta.crossunderUm zu bestimmen, ob der Preis einen beweglichen Durchschnitt überschreitet oder überschreitet. Wenn ein Durchbruch erfolgt, werden Anweisungen zum Vergrößern oder Verringern der Position erteilt.

Strategische Vorteile

Die Strategie der Doppel-Gleichgewichts-Durchbruch hat folgende Vorteile:

  1. Die Konzepte sind einfach, leicht zu verstehen und umzusetzen.
  2. Es ist möglich, die Markttrends zu verfolgen und sich nicht vom Lärm beeinflussen zu lassen.
  3. Die Strategie hat weniger Parameter und ist leicht zu optimieren.
  4. Die Flexibilität, die Perioden der Moving Averages zu wählen, um die Marktsensitivität anzupassen.

Strategisches Risiko

Es gibt einige Risiken bei der Strategie der Doppel-Einheitlichkeit-Durchbrechung:

  1. Wenn der Markt in einem bewegten Trend ist, werden mehrere falsche Signale erzeugt. Sie können durch die Erhöhung der Haltungsdauer mildert werden.
  2. Der Markt, der nicht in der Lage ist, schnell umzukehrende Märkte effektiv zu erfassen, kann mit anderen Indikatoren als Filter kombiniert werden.
  3. Der Moving Average ist inherently lagging und kann nicht auf Preisänderungen vorbereitet reagieren.

Richtung der Strategieoptimierung

Die Doppel-Einheitlichkeits-Breakthrough-Strategie kann in folgenden Dimensionen optimiert werden:

  1. Optimierung der Periodizität von Moving Averages, um die optimale Kombination von Parametern zu finden
  2. Hinzufügen anderer Indikatoren, um falsche Signale zu vermeiden.
  3. Erweiterung der Stop-Loss-Logik
  4. Mehrzeit-Frameworks in Kombination mit mehr Zeitzyklus-Analysen.

Zusammenfassen

Die Binary Equilibrium Breakout Strategie ist eine einfache und praktische Trend-Tracking-Strategie. Sie kann die mittelfristigen Trends effektiv erfassen und die Störungen des kurzfristigen Marktrausches vermeiden. Die Strategie ist leicht zu verstehen und umzusetzen, die Parameter sind berechenbar und eignen sich hervorragend für die Anforderungen des quantifizierten Handels.

Strategiequellcode
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60", overlay=true)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma10 = ta.sma(close,10)
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) 
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) 
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) 
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) 
    strategy.close("open long60",comment="跌破m60平倉", qty=1)     
    
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2) 
//     strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")


// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
//     strategy.close("open long10",comment="跌破m10平倉", qty=1)