Swing-Trading-Strategien fürs Wochenende


Erstellungsdatum: 2023-11-16 10:53:01 zuletzt geändert: 2023-11-16 10:53:01
Kopie: 0 Klicks: 601
1
konzentrieren Sie sich auf
1617
Anhänger

Swing-Trading-Strategien fürs Wochenende

Überblick

Die Strategie setzt die Eintrittsbedingungen für Long- und Short-Positions nach dem Schlusskurs am Freitag fest, macht am Samstag und Sonntag mehr Leerlauf und schließt am Montag die Position vor dem Schlusskurs. Die Strategie erzielt Gewinne, indem sie die Preisschwankungen in der Nähe des Schlusskurses am Freitag erfasst.

Grundsätze

  1. Der Referenzpreis für die Schlusskurse am Freitag
  2. Am Samstag und Sonntag sind die Öffnungszeiten:
    • Wenn der Preis höher als 4,5% am Freitag ist, ist der Kurs zu kurz.
    • Wenn der Preis unter den 4,5% am Freitag liegt, dann mehr.
  3. Die Stop-Loss-Rate ist auf 3% des Anfangskapitals festgelegt.
  4. Alle Positionen vor der Börsenöffnung am Montag

Analyse der Stärken

  1. Der Handel mit Preisschwankungen, die durch die geringen Handelsmengen am Samstag und Sonntag verursacht werden, reduziert das Marktrisiko.
  2. Klare Ein- und Ausstiegsbedingungen, die die Umsetzung der Strategie erschweren
  3. Kurzstrecken-Operationen, nach einem stabilen, kleinen Gewinn
  4. Kurzlaufzeit, schnelle Umlaufzeit

Risikoanalyse

  1. Die Kurse am Samstag und Sonntag dürften geringer ausfallen als erwartet, so dass keine Positionen eröffnet werden können.
  2. Übermäßige Schwankungen führen zu Stop-Losses
  3. Die Preise sind durch die großen Ereignisse am Montag in die Höhe gesprungen und konnten nicht rechtzeitig eingestellt werden.

Risikolösungen:

  1. Anpassung der Schwankungen bei den Zulassungsbedingungen
  2. Setzen Sie einen vernünftigen Stopp
  3. Das ist eine gute Idee, aber es ist nicht so einfach.

Optimierungsrichtung

  1. Anpassung der Einstiegsbreite an die Eigenschaften der verschiedenen Sorten
  2. Optimierung der Dämpfung nach Rückmeldung
  3. Unterschiedliche Leverage nach Größe des Kapitals
  4. Eintrittszeiten in Kombination mit Gleichgewichtsindikatoren

Zusammenfassen

Die Strategie dient als eine Short-Line-Trading-Strategie mit einer sehr klaren Handelslogik und Risikokontrollen. Durch vernünftige Parameter-Einstellungen und kontinuierliche Test-Optimierung können stabile Anlageerträge erzielt werden. Es ist auch darauf zu achten, dass das Risiko von Verlusten durch zu hohe Preisschwankungen vor der Woche durch Risikomanagement kontrolliert wird.

Strategiequellcode
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Copyright Boris Kozak 
strategy("XBT Weekend Trade Strategy", overlay=true, default_qty_type=strategy.percent_of_equity,initial_capital=20000)
leverage = input(1,"Leverage")
profitTakingPercentThreshold = input(0.03,"Profit Taking Percent Threshold")

//****Code used for setting up backtesting.****///
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(12, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2025, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FFFF : na
bgcolor(testPeriodBackgroundColor, transp=50)

testPeriod() => true
    
//****END Code used for setting up backtesting.****///


//*** Main entry point is here***//
// Figure out how many days since the Friday close 
days_since_friday = if dayofweek == 6
    0
else 
    if dayofweek == 7
        1
    else
        if dayofweek == 1
            2
        else
            if dayofweek == 2
                3
            else
                if dayofweek == 3
                    4
                else
                    if dayofweek == 4
                        5
                    else
                        6
    
// Grab the Friday close price
fridaycloseprice = request.security(syminfo.tickerid,'D',close[days_since_friday])
plot(fridaycloseprice)
strategy.initial_capital = 50000
// Only perform backtesting during the window specified 
if testPeriod()
    // If we've reached out profit threshold, exit all positions 
    if ((strategy.openprofit/strategy.initial_capital) > profitTakingPercentThreshold)
        strategy.close_all()
    // Only execute this trade on saturday and sunday (UTC)
    if (dayofweek == 7.0 or dayofweek == 1.0)
        // Begin - Empty position (no active trades)
        if (strategy.position_size == 0)
            // If current close price > threshold, go short 
            if ((close>fridaycloseprice*1.045))
                strategy.entry("Short Entry", strategy.short, leverage)
            else
                // If current close price < threshold, go long
                if (close<(fridaycloseprice*0.955))
                    strategy.entry("Long Entry",strategy.long, leverage)
        // Begin - we already have a position
        if (abs(strategy.position_size) > 0)
            // We are short 
            if (strategy.position_size < 0)
                if ((close>strategy.position_avg_price*1.045))
                    // Add to the position
                    strategy.entry("Adding to Short Entry", strategy.short, leverage)
            else
                strategy.entry("Long Entry",strategy.long,leverage)
    // On Monday, if we have any open positions, close them 
    if (dayofweek==2.0)
        strategy.close_all()