Aktienanlagestrategie basierend auf doppelten gleitenden Durchschnitten und Volatilität


Erstellungsdatum: 2023-12-20 14:54:41 zuletzt geändert: 2023-12-20 14:54:41
Kopie: 0 Klicks: 661
1
konzentrieren Sie sich auf
1621
Anhänger

Aktienanlagestrategie basierend auf doppelten gleitenden Durchschnitten und Volatilität

Überblick

Diese Strategie basiert auf einer doppelten Mittellinie und einem Indikator der relativen Stärke, kombiniert mit der historischen Schwankung der Aktien, um automatische Kauf- und Verkaufsprozesse zu ermöglichen. Die Strategie hat den Vorteil, dass eine Kombination aus Lang- und Kurzlinie realisiert wird, um das Risiko effektiv zu kontrollieren. Es gibt jedoch auch einige Verbesserungsmöglichkeiten, beispielsweise die Einbeziehung eines Stop-Loss-Mechanismus.

Strategieprinzip

Die Strategie verwendet ein doppeltes System aus 150-Wochen-Linea-Mittelwert und 50-Tage-Schnellmittelwert sowie den schnellsten Mittelwert der 20-Tage-Line. Wenn der Preis die 150-Wochen-Line überschreitet, wird der Kurs als hoch angesehen. Wenn der Preis die 50-Tage-Line überschreitet, wird der Kurs als abwärts angesehen.

Darüber hinaus verwendet die Strategie die jährlichen Volatilitätshöchstpreise und die Relative-Strength-Indikatoren, um den spezifischen Kaufzeitpunkt zu bestimmen. Ein Kaufsignal wird nur ausgesendet, wenn der Schlusskurs den jährlichen Volatilitätshöchstpreis überschreitet und der Relative-Strength-Indikator positiv ist.

Strategische Vorteile

  1. Die Verwendung eines Doppel-Linien-Systems, um die Veränderung der wichtigsten Trends zu erkennen und die Absenkung zu verfolgen.
  2. Die Einbeziehung von Volatilitäts- und Intensitätsindikatoren verhindert, dass in schwankenden Verhältnissen Wellenbewegungen auftreten.
  3. Die Einführung der 20-Tage-Schnellmittellinie könnte die Verluste schneller stoppen.

Strategisches Risiko

  1. Es gibt eine gewisse Verzögerung, die nicht schnell beendet werden kann.
  2. Ohne Stop-Loss-Bereich ist es leicht, größere Verluste zu erleiden.
  3. Mangelnde Optimierung der Parameter und subjektive Einstellungen der Parameter

Um die Risiken abzuwägen, können Sie einen Stop-Loss-Level festlegen oder die Multiplikatoren des ATR-Indikators als Stop-Loss-Wert verwenden. Zusätzlich können Sie die Parameter durch strengere Rückmessungen optimieren.

Richtung der Strategieoptimierung

  1. Erhöhung der Stop-Loss-Mechanismen
  2. Die Parameteroptimierung wird verwendet, um optimale Parameter zu finden
    1. Erwägen Sie, andere Kennzahlen zu filtern, z. B. die Kennzahlen für den Umsatz.
  3. Es kann in Erwägung gezogen werden, die Strategie in ein Multifaktormodell umzuwandeln, das mehr Indikatoren enthält.

Zusammenfassen

Diese Strategie ist im Allgemeinen eine relativ konservative Aktien-Investment-Strategie. Die Verwendung von doppelten Ebenen entscheidet über die wichtigsten Trends und kann in Kombination mit der Volatilität und der Stärke der eingegangenen Indikatoren effektiv die False-Breakout filtern. Die Einbeziehung der schnellen Ebenen macht den Stop-Loss auch schneller.

Strategiequellcode
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Relative Strength
strategy("Stan my man", overlay=true)
comparativeTickerId = input("BTC_USDT:swap",  title="Comparative Symbol")
l = input(50, type=input.integer, minval=1, title="Period")
baseSymbol = security(syminfo.tickerid, timeframe.period, close)
comparativeSymbol = security(comparativeTickerId, timeframe.period, close)
hline(0, color=color.black, linestyle=hline.style_dotted)
res = baseSymbol / baseSymbol[l] /(comparativeSymbol / comparativeSymbol[l]) - 1
plot(res, title="RS", color=#1155CC)

//volume ma
vol1 = sma(volume,20)
// 30 week ma
ema1 = ema(close, 150)
//consolidation
h1 = highest(high[1],365)

fastPeriod = input(title="Fast MA", type=input.integer, defval=50)
slowPeriod = input(title="Slow MA", type=input.integer, defval=150)
fastestperiod = input(title="Fastest MA", type=input.integer, defval=20)

fastEMA = ema(close, fastPeriod)
slowEMA = ema(close, slowPeriod)
fastestEMA = ema(close, fastestperiod)

monitorStrategy = close < close[20]


// trade conditions
buytradecondition1 = close >ema1 and res>0 and volume> 1.5*vol1 and close > h1
buytradecondition2 = close > fastEMA  and volume> 1.5* vol1 
selltradecondition1  = close< 0.95 * fastEMA 
selltradecondition2  = close< 0.90 * open

if (buytradecondition1)
    strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy")
    alert("Buy Alert Price (" + tostring(close) + ") crossed over Slow moving average",alert.freq_all)
    
if (buytradecondition2)
    strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy")
    alert("Buy Alert Price (" + tostring(close) + ") crossed over fast moving average",alert.freq_all)
    
if (selltradecondition1)
    strategy.close("long",alert_message ="Seems ready to Sell")
    alert("Sell Alert Price (" + tostring(close) + ") crossed down fast moving average",alert.freq_all)
    
if (selltradecondition2)
    strategy.close("long",alert_message ="Seems ready to Sell")
    alert("Sell Alert Price (" + tostring(close) + ") crossed down 10% below open price  ",alert.freq_all)

//alertcondition(buytradecondition1,title ="BuySignal", message ="Price Crossed Slow Moving EMA ")

plot(fastEMA, color=color.navy)
plot(slowEMA, color=color.fuchsia)
plot(fastestEMA, color=color.green)