Dynamischer Ausbruchstrend nach Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-29 17:32:10
Tags:

img

Übersicht

Dies ist ein dynamischer Trend, der der Breakout-Strategie folgt. Er verfolgt den höchsten und niedrigsten Kurs der Aktie in Echtzeit. Wenn der Preis den höchsten Preis in der letzten Periode durchbricht, wird er lang gehen. Wenn der Preis den niedrigsten Preis in der letzten Periode durchbricht, wird er kurz gehen. In der Zwischenzeit werden Stop-Loss und Take-Profit eingestellt, um Risiken zu kontrollieren und ein festes Risiko-Gewinn-Verhältnis zu gewährleisten.

Strategie Logik

Die Kernlogik dieser Strategie besteht darin, die Preisbrechungspunkte von Trends zu verfolgen und zu handeln. Insbesondere berechnet die Strategie den höchsten Höchststand und das niedrigste Tief der letzten 20 Tage. Wenn der heutige Schlusskurs den gestrigen Höchststand durchbricht, wird er als Aufwärtstrendbrechungssignal angesehen und wird lang gehen. Wenn der heutige Schlusskurs den gestrigen Tiefstand durchbricht, wird er als Abwärtstrendbrechungssignal angesehen und wird kurz gehen.

Nach Long oder Short werden Stop Loss von 1% und Take Profit von 2% gesetzt. Dies gewährleistet ein festes Risiko-Reward-Verhältnis von 2:1 für jeden Trade.

Vorteile

Der größte Vorteil dieser Strategie besteht darin, schnell Umkehrpunkte der Preisentwicklung zu erfassen und gleichzeitig die Risiken jedes einzelnen Handels zu kontrollieren.

  1. Dynamische Berechnung des höchsten und niedrigsten Preises, Echtzeit-Verfolgung von Kursentwicklungsänderungen, die schnell Preisumkehrsignale erfassen können.

  2. Durch die Verwendung der Breakout-Methode für Einträge wird die Qualität der Einträge verbessert.

  3. Die Einstellung von Stop-Loss und Take-Profit zur Steuerung des Risiko-Rendite-Verhältnisses eines einzigen Handels verwaltet das Handelsrisiko wirksam.

  4. Einfache und leicht verständliche Logik, geeignet für Quantenanfänger.

  5. Weniger Code, der für Tests und Optimierungen einfach ist.

Risiken

Diese Strategie birgt auch einige Risiken:

  1. Die Entwicklung der Einträge kann die besten Wendepunkte der Preisumkehr verpassen.

  2. Festgelegte Stop-Loss- und Take-Profit-Verfahren können sich nicht an Marktveränderungen anpassen, können vorzeitig ausfallen oder Gewinnziel erreichen.

  3. Es gibt keine Pyramidenlogik für spätere zusätzliche Einträge, man kann den Trends nicht folgen.

  4. Keine Berücksichtigung großer Zyklen, die mit einem großen Trend in Konflikt geraten können, der Verluste verursacht.

  5. Es gibt kein Positionsgrößenmodul, es ist nicht möglich, die Gesamtposition zu steuern.

Optimierungsrichtlinien

Es gibt noch viel Optimierungsmöglichkeiten, hauptsächlich in folgenden Bereichen:

  1. Fügen Sie dynamische Stop-Loss und Take-Profit hinzu, basierend auf der Marktvolatilität.

  2. Hinzufügen eines auf gleitenden Durchschnitten basierenden Trendrichtungfilters, um Konflikte zwischen wichtigen Trends zu vermeiden.

  3. Hinzufügen eines Trendstärkenindikators, um sicherzustellen, dass nur starke Trends eingegeben werden.

  4. Fügen Sie eine Pyramidenlogik hinzu, um den Gewinn zu maximieren, indem Sie den Trends folgen.

  5. Kombination mit dem Positionsgrößenmodul zur dynamischen Anpassung der Positionsgröße und zur Kontrolle des Gesamtrisikos.

  6. Parameter optimieren, um optimale Parametermengen zu finden.

Zusammenfassung

Zusammenfassend ist diese Strategie für Quant-Anfänger geeignet, um sie insgesamt zu lernen und zu üben. Ihr Vorteil liegt in der Einfachheit und dem einfachen Verständnis, auch mit Stop-Loss und Take-Profit-Logik, um das Risiko zu kontrollieren. Aber es gibt noch viele Aspekte zu optimieren, kann als Chance für weiteres Lernen dienen. Im Allgemeinen ist diese Strategie für Anfänger geeignet, vom Prinzip bis zur Anwendung zu meistern.


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


Mehr