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 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.crossover
undta.crossunder
Bei einer Brechung wird ein Auf- oder Abholbefehl ausgegeben.
Die Strategie des doppelten Durchbruchs bietet folgende Vorteile:
Die Strategie des doppelten Durchbruchs ist auch gefährlich:
Die Strategie für einen gleichförmigen Durchbruch kann aus folgenden Dimensionen optimiert werden:
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)