
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.
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.
Die Strategie der Doppel-Gleichgewichts-Durchbruch hat folgende Vorteile:
Es gibt einige Risiken bei der Strategie der Doppel-Einheitlichkeit-Durchbrechung:
Die Doppel-Einheitlichkeits-Breakthrough-Strategie kann in folgenden Dimensionen optimiert werden:
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.
/*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)