Die Ressourcen sind geladen. Beförderung...

Dynamisches Positionsmanagement tägliche Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-05-28 11:21:52
Tags:

img

Übersicht

Diese Strategie verwendet einen konsistenten täglichen Handelsansatz, der sich auf die Erreichung kleiner Gewinnziele konzentriert, während ein strenges Risikomanagement beibehalten wird. Die Strategie wurde ab dem Jahr 2021 zurück getestet und zeigt eine robuste Performance mit einer Gewinnrate von 100%. Die Hauptidee der Strategie besteht darin, zu Beginn jedes Handelstages neue Long- oder Short-Positionen basierend auf den Marktbedingungen des vorherigen Tages zu eröffnen. Zu den wichtigsten Parametern gehören ein Gewinnziel von 0,3% und ein Stop-Loss von 0,2%, mit einem Anfangskapital von 1000 USD und einer Provision von 0,1% pro Handel.

Strategieprinzipien

Das Kernprinzip dieser Strategie besteht darin, zu Beginn eines jeden Handelstages neue Long- oder Short-Positionen zu eröffnen, die auf den Markttrends des vorherigen Handelstages basieren. Insbesondere, wenn es am Vortag keine Positionen gab, wird die Strategie zu Beginn des neuen Tages eine Long-Position eröffnen. Wenn es bereits eine Long-Position gibt, überprüft die Strategie, ob das Gewinnziel von 0,3% erreicht wurde und schließt die Position, wenn dies der Fall ist. Für Short-Positionen überprüft die Strategie, ob der 0,2%-Stop-Loss erreicht wurde, und wenn ja, schließt sie die Short-Position und eröffnet gleichzeitig eine neue Long-Position, um sie zu ersetzen. Dies stellt sicher, dass die Strategie immer das Engagement für den Markt aufrechterhält.

Strategische Vorteile

Diese tägliche Handelsstrategie hat mehrere bemerkenswerte Vorteile:

  1. 100% Gewinnquote: Über 36 geschlossene Trades erreichte die Strategie eine Gewinnrate von 100%, was ihre konsequente Leistung unterstreicht.
  2. Dynamische Positionsverwaltung: Bei einer Short-Position mit Stop-Loss wird sofort eine neue Long-Position eröffnet, um sie zu ersetzen, wodurch ein kontinuierliches Marktrisiko gewährleistet wird.
  3. Strenges Risikomanagement: Die Strategie setzt ein Gewinnziel von 0,3% und einen Stop-Loss von 0,2% fest, wodurch das Risiko wirksam kontrolliert wird.
  4. Regelmäßige Marktbeteiligung: Die Strategie eröffnet Positionen zu Beginn eines jeden Tages, um eine regelmäßige Marktbeteiligung zu gewährleisten.
  5. Robuste Rückprüfungsergebnisse: Die Rückprüfung aus dem Jahr 2021 zeigt eine robuste Performance mit einem Nettogewinn von 22,2% und einem maximalen Rückzug von 13,75%.

Strategische Risiken

Trotz der beeindruckenden Leistung und Risikokontrolle, die durch die Strategie gezeigt werden, sind einige potenzielle Risiken zu berücksichtigen:

  1. Wahrscheinlichkeit von aufeinanderfolgenden Verlusten: Während die Ergebnisse des Backtestings beeindruckend sind, garantieren die bisherigen Ergebnisse keine zukünftigen Ergebnisse.
  2. Black Swan-Ereignisse: Die Strategie kann anfällig für unerwartete Ereignisse und extreme Marktvolatilität sein, was zu Verlusten führt, die über die Erwartungen hinausgehen.
  3. Hebelrisiko: Die Strategie setzt auf 200% Hebelwirkung bei jedem Handel, was die potenziellen Renditen erhöht, aber auch das Risiko erhöht.

Um diese Risiken zu mindern, könnte eine Diversifizierung durch die Anwendung ähnlicher Strategien auf verschiedenen Märkten und Anlageklassen in Betracht gezogen werden.

Strategieoptimierungsrichtlinien

  1. Optimierung der Parameter: Das Gewinnziel, der Stop-Loss und andere wichtige Parameter könnten durch zusätzliches Backtesting und Optimierung weiter verfeinert werden, um unter verschiedenen Marktbedingungen eine optimale Leistung zu erzielen.
  2. Diversifizierung: Die Ausweitung der Strategie auf andere Märkte und Anlageklassen könnte die Gesamtrendite erhöhen und das Risiko verringern.
  3. Dynamische Positionsgröße: Eine dynamische Anpassung der Positionsgröße an die Volatilität des Marktes oder andere Faktoren könnte die risikobereinigten Renditen weiter optimieren.
  4. Zusätzliche Filter: Die Einführung zusätzlicher technischer Indikatoren oder Indikatoren für die Marktstimmung als Filter könnte die Qualität der Handelssignale verbessern.

Schlussfolgerung

Insgesamt bietet diese tägliche Handelsstrategie einen ausgewogenen Ansatz für den Intraday-Handel mit einem starken Schwerpunkt auf Risikomanagement und konsistenter Rentabilität. Sie eignet sich für Händler, die eine systematische und disziplinierte Handelsmethodik suchen. Die Strategie hat beeindruckende Backtest-Ergebnisse gezeigt, mit einer 100% Gewinnrate und robusten risikobereinigten Renditen.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)

// Input parameters
profit_target = input(0.3, title="Profit Target (%)") / 100
loss_target = input(0.2, title="Loss Target (%)") / 100
start_year = input(2021, title="Start Year")

// Calculate daily open and close
new_day = ta.change(time("D"))

var float entry_price_long = na
var float entry_price_short = na
var bool position_long_open = false
var bool position_short_open = false

// Date check
trade_start = timestamp(start_year, 1, 1, 0, 0)

if new_day and time >= trade_start
    // If there was a previous long position, check for profit target
    if position_long_open
        current_profit_long = (close - entry_price_long) / entry_price_long
        if current_profit_long >= profit_target
            strategy.close("AUD Trade Long", comment="Take Profit Long")
            position_long_open := false
    
    // If there was a previous short position, check for profit target
    if position_short_open
        current_profit_short = (entry_price_short - close) / entry_price_short
        if current_profit_short >= profit_target
            strategy.close("AUD Trade Short", comment="Take Profit Short")
            position_short_open := false

    // Check for daily loss condition for short positions
    if position_short_open
        current_loss_short = (close - entry_price_short) / entry_price_short
        if current_loss_short <= -loss_target
            strategy.close("AUD Trade Short", comment="Stop Loss Short")
            position_short_open := false
            
            // Open a new long position to replace the stopped short position
            strategy.entry("AUD Trade Long Replacement", strategy.long)
            entry_price_long := close
            position_long_open := true

    // Open a new long position at the start of the new day if no long position is open
    if not position_long_open and not position_short_open
        strategy.entry("AUD Trade Long", strategy.long)
        entry_price_long := close
        position_long_open := true

    // Open a new short position at the start of the new day if no short position is open
    if not position_short_open and not position_long_open
        strategy.entry("AUD Trade Short", strategy.short)
        entry_price_short := close
        position_short_open := true

// Check for continuous profit condition for long positions
if position_long_open
    current_profit_long = (close - entry_price_long) / entry_price_long
    if current_profit_long >= profit_target
        strategy.close("AUD Trade Long", comment="Take Profit Long")
        position_long_open := false

// Check for continuous profit condition for short positions
if position_short_open
    current_profit_short = (entry_price_short - close) / entry_price_short
    if current_profit_short >= profit_target
        strategy.close("AUD Trade Short", comment="Take Profit Short")
        position_short_open := false

// Plot the entry prices on the chart
plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2)
plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2)

// Display current profit/loss percentage for long positions
var label profit_label_long = na
if position_long_open and not na(entry_price_long)
    current_profit_long = (close - entry_price_long) / entry_price_long * 100
    label.delete(profit_label_long)
    profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

// Display current profit/loss percentage for short positions
var label profit_label_short = na
if position_short_open and not na(entry_price_short)
    current_profit_short = (entry_price_short - close) / entry_price_short * 100
    label.delete(profit_label_short)
    profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)

Mehr