Monatliche Umkehrung der DCA-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-08 16:12:29
Tags:

Übersicht

Der Zweck dieser Strategie besteht darin, die Umkehrpunkte von kurzfristigen Abwärtstrends von Vermögenswerten zu identifizieren und an diesen Punkten einen festen Geldbetrag zu investieren.

Grundsätze

Diese Strategie funktioniert monatlich, wobei 240 1-Stunden-Streifen pro Monat verwendet werden, um den Zeitpunkt der Trendumkehrung zu bestimmen.

Insbesondere berechnet die Strategie die Differenz zwischen schneller EMA und langsamer EMA (EMA_CD) sowie die Signallinie von EMA_CD. Wenn die schnelle Linie über die Signallinie geht, bestimmt sie das Ende eines kurzfristigen Abwärtstrends und löst ein Kaufsignal aus.

Nach dem Kaufsignal schließt die Strategie alle Positionen am Ende des Monats, und wiederholt sich der Prozess im nächsten Monat mit einem festen, regelmäßigen Kauf und Halten für einen Monat.

Dies erlaubt es uns, am Ende von kurzfristigen Rückgängen und Dollarpreisdurchschnitt in festen Abständen zu befischen.

Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie die Märkte im Bereich herausfiltern und nur an Trendumkehrpunkten kaufen kann, wodurch die Dollarkosten zu relativ besseren Preisen durchschnittlich werden.

Auch kann die Verwendung von EMA zur Bestimmung von Umkehrpunkten stabiler und genauer sein als nur auf Kerzenumkehrungen zu achten.

Schließlich wird der monatliche Stop-Loss für jede Monatsinvestition auf die Performance gesetzt, wodurch der maximale Verlust pro Monat begrenzt wird.

Risiken

Das größte Risiko dieser Strategie besteht darin, dass die Preise nach dem Kauf weiter sinken, was zum Stop-Loss am Monatsende führt.

Wir können die Parameter der EMA optimieren, um die Identifizierung zu verbessern, oder andere Indikatoren wie RSI kombinieren, um Umkehrsignale zu bestätigen.

Ein weiteres Risiko ist die Stop-Loss-Ebene. Ein zu enge Stop-Loss kann durch kurzfristige Schwankungen leicht gestoppt werden. Ein zu breiter Stop-Loss kann Verluste nicht begrenzen. Der optimale Parameter muss durch das Testen verschiedener Stop-Loss-Ebenen gefunden werden.

Möglichkeiten zur Verbesserung

Die Strategie kann in folgenden Bereichen verbessert werden:

  1. Optimieren Sie EMA-Perioden, um die optimale Parameterkombination für die Identifizierung von Umkehrungen zu finden.

  2. Fügen Sie andere Filter wie RSI hinzu, um Umkehrsignale zu bestätigen.

  3. Testen Sie verschiedene Stop-Loss-Levels, um den optimalen Punkt zu finden, der die Verlustverhütung maximiert, ohne dass Sie geschlagen werden.

  4. Überlegen Sie, ob Sie einen Trailing-Stop zusätzlich zum Stop-Loss hinzufügen, um den Stop-Level dynamisch anhand des Preises anzupassen.

  5. Testen Sie verschiedene Zeitrahmen wie täglich oder wöchentlich, um zu sehen, welche für diese Strategie am besten funktioniert.

Schlussfolgerung

Die allgemeine Idee dieser Strategie ist einfach und klar - mit EMA, um kurzfristige Trendumkehrungen zu identifizieren, und Dollar-Kosten-Durchschnitt an Umkehrpunkten monatlich. Es kann effektiv herausfiltern, unruhige Märkte und investieren zu relativ niedrigen Preisen. Der Optimierungsraum liegt hauptsächlich in Parameter-Tuning und Stop-Loss-Techniken. Insgesamt ist dies ein ausgezeichnetes Strategie-Konzept für die Zuweisung von Anlagen, die es wert sind, weiter getestet und verbessert.


/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 1h
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/
// © BHD_Trade_Bot

// @version=5
// strategy(
//  shorttitle            = 'DCA After Downtrend',
//  title                 = 'DCA After Downtrend (by BHD_Trade_Bot)',
//  overlay               = true,
//  calc_on_every_tick    = true,
//  calc_on_order_fills   = true,
//  use_bar_magnifier     = true,
//  pyramiding            = 100,
//  initial_capital       = 0,
//  default_qty_type      = strategy.cash,
//  default_qty_value     = 1000,
//  commission_type       = strategy.commission.percent,
//  commission_value      = 0.1)



// Backtest Time Period
start_year   = input(title='Start year'   ,defval=2017)
start_month  = input(title='Start month'  ,defval=1)
start_day    = input(title='Start day'    ,defval=1)
start_time   = timestamp(start_year, start_month, start_day, 00, 00)

end_year     = input(title='end year'     ,defval=2050)
end_month    = input(title='end month'    ,defval=1)
end_day      = input(title='end day'      ,defval=1)
end_time     = timestamp(end_year, end_month, end_day, 23, 59)

window() => true



// EMA
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)

// EMA_CD
emacd = ema50 - ema200
emacd_signal = ta.ema(emacd, 20)
hist = emacd - emacd_signal

// Count n candles after x long entries
var int nPastCandles = 0
var int entryNumber = 0
nPastCandles := nPastCandles + 1



// ENTRY CONDITIONS

// 8 hours per day => 240 hours per month
entry_condition1 = nPastCandles > entryNumber * 240

// End of downtrend
entry_condition2 = ta.crossover(emacd, emacd_signal)

ENTRY_CONDITIONS = entry_condition1 and entry_condition2


if ENTRY_CONDITIONS and window()
    entryNumber := entryNumber + 1
    entryId = 'Long ' + str.tostring(entryNumber)
    strategy.entry(entryId, strategy.long)
    
    

// CLOSE CONDITIONS

// Last bar
CLOSE_CONDITIONS = barstate.islast

if CLOSE_CONDITIONS
    strategy.close_all()


    
// Draw
plot(ema50, color=color.orange, linewidth=3)
plot(ema200, color=entry_condition1 ? color.green : color.red, linewidth=3)


Mehr