
Die Strategie ist eine Trendbreaking-Strategie, die auf dynamischen Berechnungen basiert. Sie verfolgt die Höchst- und Tiefstpreise der Aktie in Echtzeit. Wenn der Preis die Höchstpreise des letzten Zyklus überschreitet, wird ein Überschreitung eingeleitet. Wenn der Preis die Tiefstpreise des letzten Zyklus überschreitet, wird ein Ausfall eingeleitet.
Die Kernlogik der Strategie ist es, die Trendbrechpunkte der Preise zu verfolgen und zu handeln. Insbesondere berechnet die Strategie die höchsten Höhen und tiefsten Tiefen der letzten 20 Tage. Wenn der heutige Schlusskurs das höchste Hoch des Vortages übertrifft, wird dies als Aufwärtsbruch angesehen.
Die Strategie setzt einen Stop-Loss von 1% und einen Stop-Loss von 2% für einen zusätzlichen Leerlauf. Dies garantiert, dass die Gewinn- und Verlustquote für jeden Handel auf 2:1 festgelegt ist. So kann das Risiko für einzelne Geschäfte effektiv kontrolliert werden.
Der größte Vorteil dieser Strategie besteht darin, dass sie die Wendepunkte der Preisentwicklung schnell erfasst und gleichzeitig das Risiko eines einzelnen Handels kontrolliert. Insbesondere gibt es folgende Vorteile:
Die dynamische Berechnung von Höchst- und Tiefstpreisen, die Realzeit-Verfolgung von Preisveränderungen und die schnelle Erfassung von Signalen für eine Preisumkehr.
Durch den Einsatz von Breakout-Methoden kann die Anzahl der Falschsignale reduziert und die Qualität der Eingabe verbessert werden.
Setzen Sie Stop-Loss-Systeme, kontrollieren Sie die Gewinn- und Verlustquote für einzelne Geschäfte und kontrollieren Sie effektiv das Risiko für einzelne Geschäfte.
Einfache, leicht verständliche Logik, geeignet für die Praxis von Quantitative Anfänger.
Weniger Code, leichter zu testen und zu optimieren.
Die Strategie birgt auch einige Risiken, die beachtet werden müssen:
Wenn man sich mit dem Trend positioniert, verpasst man vielleicht den besten Punkt, an dem sich der Kurs umdreht.
Die Festsetzung einer Stop-Loss-Termine ist schwierig, um sich an Marktveränderungen anzupassen, und kann zu einer vorherigen Stop-Loss- oder Stop-Loss-Termine führen.
In der späteren Strat-Periode gibt es keine Logik für die Überlagerung von Eintritt und Lagerhaltung, so dass Trends nicht kontinuierlich verfolgt werden können.
Wenn man die Trends der großen Zyklen nicht berücksichtigt, kann es zu Verlusten kommen, wenn man sich von den großen Trends entfernt.
Ohne ein Modul für die Vermögensverwaltung ist die Gesamtverwaltung der Positionen nicht möglich.
Die Strategie bietet auch viel Optimierungsmöglichkeiten. Die wichtigsten Optimierungsrichtungen sind:
Erhöhen Sie die dynamischen Stop-Loss-Sets, um die Stop-Loss-Sets entsprechend der Marktschwankungen anzupassen.
Erweiterung der Filterbedingungen auf Basis der Einheitslinie zur Vermeidung von Konflikten mit den großen Trends.
Erhöhung der Trendstärke-Indikatoren, um sicherzustellen, dass nur dann gehandelt wird, wenn der Trend stark genug ist.
Die Logik der Single-Code-Erweiterung ist so konzipiert, dass Trends verfolgt und die Gewinne maximiert werden können.
In Kombination mit einem Modul für die Vermögensverwaltung kann die Position dynamisch angepasst werden, um das Risiko insgesamt zu kontrollieren.
Optimierung der Parameter und Suche nach der optimalen Parameterkombination.
Die Strategie als Ganzes ist eine Trendbrecher-Strategie, die sich hervorragend für das Lernen und Üben von Quantitative Anfänger eignet. Ihr Vorteil liegt in ihrer Einfachheit und Verständlichkeit, wobei die Stop-Loss-Logik zur Risikokontrolle hinzugefügt wird. Es gibt jedoch auch viele Optimierungsmöglichkeiten, die als Gelegenheit zum weiteren Lernen dienen können.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Trend Following Breakout Strategy with 2:1 RRR", overlay=true)
// 定义前高和前低的计算
length = input(20, minval=1, title="Length")
highestHigh = highest(high, length)
lowestLow = lowest(low, length)
// 定义买入和卖出的条件
longCondition = close > highestHigh[1] // 当前收盘价高于前一期的最高价
shortCondition = close < lowestLow[1] // 当前收盘价低于前一期的最低价
// 为了确保盈亏比为2:1,我们需要定义止损和目标价
stopLoss = input(1, title="Stop Loss %") / 100
takeProfit = stopLoss * 2
// 如果满足买入条件,进入多头
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long TP", "Long", profit=takeProfit * close, loss=stopLoss * close)
// 如果满足卖出条件,进入空头
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short TP", "Short", profit=takeProfit * close, loss=stopLoss * close)
// 绘图显示前高和前低
plot(highestHigh, color=color.green, title="Previous High")
plot(lowestLow, color=color.red, title="Previous Low")