Das Goldene Kreuz, das Todeskreuz, die langfristige Multifaktorstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-23 11:11:40
Tags:

img

Übersicht

Strategie Logik

Nach dem Markteintritt werden Stop Loss und Take Profit auf der Grundlage der Größe des ATR (14) festgelegt.

Analyse der Vorteile

  1. Mehrfaktorbeurteilung verhindert falsche Ausbrüche und gewährleistet die Zuverlässigkeit der Kaufsignale
  2. Verfolgt langfristige Trends, ohne durch kurzfristige Schwankungen unterbrochen zu werden
  3. Einfach umzusetzen, leicht zu verstehen und zu bedienen

Risikoanalyse

  1. Stop-Loss-Verfolgungs-Risiko. Festgelegter Stop-Loss wird nur einmal nach dem Eintritt eingestellt, keine weitere Anpassung, kann Stopp-Loss verletzt werden. Kann mit dynamischem Stop-Loss oder Trailing Stop-Loss optimiert werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Einbeziehung eines Handelsvolumenindikators zur Vermeidung eines falschen Ausbruchs bei niedrigem Volumen

Schlussfolgerung


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

//@version=4
strategy("Long Only Multi-Indicator Strategy", shorttitle="LOMIS", overlay=true)

// Inputs
lengthMAFast = input(10, title="Fast MA Length")
lengthMASlow = input(50, title="Slow MA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
atrLength = input(14, title="ATR Length")
riskMultiplier = input(1.5, title="Risk Multiplier for SL and TP")

// Moving averages
maFast = sma(close, lengthMAFast)
maSlow = sma(close, lengthMASlow)

// RSI
rsi = rsi(close, rsiLength)

// ATR
atr = atr(atrLength)

// Long condition
longCondition = crossover(maFast, maSlow) and rsi < rsiOverbought

// Entering long trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    slLong = close - atr * riskMultiplier
    tpLong = close + atr * riskMultiplier * 2
    strategy.exit("SL Long", "Long", stop=slLong)
    strategy.exit("TP Long", "Long", limit=tpLong)

// Plotting
plot(maFast, color=color.red)
plot(maSlow, color=color.blue)
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.blue)


Mehr