Die Quantifizierung der Handelsstrategie durch die doppelte Gleichlinie

Schriftsteller:ChaoZhang, Datum: 2024-02-04 16:06:46
Tags:

双均线突破量化交易策略

Übersicht

Die doppelte Durchbruchstrategie ist eine quantitative Handelsstrategie, die typischerweise Trends verfolgt. Die Strategie richtet sich nach dem einfachen gleitenden Durchschnitt der verschiedenen Perioden und setzt ein Handelssignal ein, mit dem der Preis den gleitenden Durchbruch durchbrechen kann. Die Strategie verwendet 20 und 60 Tage als Handelssignale.

Die Strategie

Die Kernlogik für die Strategie der doppelten Gleichungsbrechung ist:Verwenden Sie bewegliche Durchschnitte aus verschiedenen Perioden, um Preistrends zu erfassen und Handelssignale auszusenden, wenn der Preis durchbrecht

Insbesondere wird in dieser Strategie ein 20-tägiger einfacher gleitender Durchschnitt und ein 60-tägiger einfacher gleitender Durchschnitt verwendet. Diese beiden gleitenden Durchschnitte können als Instrumente zur Erfassung von kurzfristigen und mittelfristigen Trends betrachtet werden. Wenn der kurze Preis den mittelfristigen durchbricht, bedeutet dies, dass er sich derzeit im Aufwärtstrend befindet und mehr getan werden sollte.

Übertragen in Codeta.crossoverundta.crossunderBei einer Brechung wird ein Auf- oder Abholbefehl ausgegeben.

Strategische Vorteile

Die Strategie des doppelten Durchbruchs bietet folgende Vorteile:

  1. Das Konzept ist einfach, leicht zu verstehen und umzusetzen.
  2. Sie können Markttrends effektiv verfolgen und sich vor Lärmbelästigungen schützen.
  3. Es gibt weniger Strategieparameter, die leicht zu optimieren sind.
  4. Sie können sich flexibel für die Periode des gleitenden Durchschnitts entscheiden und die Sensibilität für den Markt anpassen.

Strategische Risiken

Die Strategie des doppelten Durchbruchs ist auch gefährlich:

  1. Wenn die Märkte sich in einem unruhigen Zustand befinden, kann es zu mehreren Fehlsignalen kommen.
  2. Es ist nicht möglich, die schnell umschlagenden Märkte effektiv zu erfassen.
  3. Die gleitenden Durchschnitte sind inherent lagging und können nicht im Voraus auf Preisänderungen reagieren.

Strategische Optimierung

Die Strategie für einen gleichförmigen Durchbruch kann aus folgenden Dimensionen optimiert werden:

  1. Optimieren Sie die Periodenparameter für die gleitenden Mittelwerte und finden Sie die beste Parameterkombination.
  2. Hinzu kommen andere Indikatoren, um Fehlsignale zu vermeiden. Zum Beispiel MACD, KD usw.
  3. Ein weiteres Beispiel ist die Veröffentlichung von "Stop Loss Logic".
  4. Das ist eine sehr schwierige Aufgabe, aber es ist eine wichtige Aufgabe.

Zusammenfassung

Die Doppel-Gleichlinien-Breakthrough-Strategie ist eine einfache und praktische Trend-Tracking-Strategie. Sie kann mittelfristige Trends effektiv erfassen, während sie die Störung durch kurzfristige Marktgeräusche vermeiden. Die Strategie ist leicht zu verstehen und zu implementieren, die Parameter sind gut zu zählen und eignen sich hervorragend für die Anforderungen von quantitativen Transaktionen. Natürlich gibt es auch einige Verbesserungsmöglichkeiten, die von der Optimierung von Parametern, der Erhöhung der Signalfilterung und der Stop-Loss-Logik zu verbessern, um die Strategie stabiler und profitabler zu machen.


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


Weitere Informationen