Mondflagge MACD Momentum StochRSI Handelsstrategie


Erstellungsdatum: 2024-02-23 15:06:59 zuletzt geändert: 2024-02-23 15:06:59
Kopie: 0 Klicks: 584
1
konzentrieren Sie sich auf
1617
Anhänger

Mondflagge MACD Momentum StochRSI Handelsstrategie

Überblick

Die MACD-Dynamik-StochRSI-Handelsstrategie ist eine quantitative Handelsstrategie, die die drei Indikatoren MACD, Dynamik und StochRSI verwendet. Die Strategie gilt hauptsächlich für den Tagesgeldhandel in Bitcoin und Ethereum.

Strategieprinzip

Die Strategie basiert auf folgenden Kennzahlen:

  1. MACD-Indikator: Schneller SMA-Zyklus mit 50, langsamer SMA-Zyklus mit 200, der die 50er- und 200er-Tage-Linie darstellt, die häufig in den Märkten verwendet wird. Dieser Indikator beurteilt die langfristige Trendrichtung des Marktes.

  2. Selbstgenerierte Dynamik-Indikatoren: ähnlich wie der Stoch-Indikator, um die kurzfristige Dynamik des Marktes zu beurteilen.

  3. Der StochRSI-Indikator beurteilt die Marktstärke und den Überkauf und Überverkauf.

Bei der Eintritt in den Mehrheitsmarkt müssen die drei Bedingungen gleichzeitig erfüllt werden: MACD> 0 (was den mittleren und langen Trend nach oben darstellt), der Eigenkapitalindex> 0 (was den kurzfristigen Trend nach oben darstellt) und der Schlusskurs, der am Tag zuvor gestiegen ist (was den aktuellen Aufwärtstrend darstellt).

Ein einfaches Mehrkopfsignal ist etwas komplizierter und erfordert die gleichzeitige Erfüllung von 4 Bedingungen: MACD < 0, Autokreativitätsindikator < 0, Abschlusskurs niedriger als am Vortag und StochRSI > 20.

Die Strategie, die mittelfristige Trends, kurzfristige Dynamik und aktuelle Trends zusammenfasst, ist ein robustes Durchbruchssystem.

Strategische Vorteile

  1. Mehrindikatorische Analyse, um falsche Signale zu vermeiden

  2. Die Auswahl der MACD-Parameter berücksichtigt die wichtigen 50- und 200-Tage-Linien des Marktes

  3. Nach Veränderungen der Parameter für die einzelnen Kennzahlen wurden nur geringe Änderungen der Strategieergebnisse vorgenommen, um ein Risiko einer Überpassung zu vermeiden.

  4. Daten ausreichend und zuverlässig

Strategisches Risiko

  1. Durchbruchssysteme sind leicht zu arbitragen und können die Anzahl der Transaktionen und die Kosten für die Gleitpunkte erhöhen.

  2. Die Komplexität der integrierten Mehrindikatorbeurteilung ist hoch, die Parameter sind schwierig anzupassen und zu optimieren

  3. Kurzstreckenbetrieb am Tag ist gefährlicher

Strategieoptimierung

  1. In Kombination mit weiteren Kennzahlen, wie der Analyse der Transaktionsmengen

  2. Mehr Machine Learning Algorithmen und dynamische Parameteroptimierung

  3. Verringerung der Handelsfrequenz, Umstellung auf höhere Zyklen zur Beurteilung

Zusammenfassen

Der MACD-Dynamik-StochRSI-Trading-Strategie umfasst mehrere Indikatoren, um Markttrends und -stärken zu bestimmen. Die Rückmesswirkung ist gut und die Zuverlässigkeit ist hoch. Es ist für erfahrene Quantitative Trader geeignet, auf hochwertige digitale Währungen anzuwenden und zu optimieren.

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

// // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// // © MoonFlag
//@version=5
strategy("MoonFlag 1D MACD Momentum StochRSI Strategy", max_bars_back=500, overlay=false, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true)


d(gaps_1, data)=>
    float out = 0.
    out :=(ta.wma(ta.wma(ta.wma(data,  math.round(((1 * gaps_1) - math.round((1 * gaps_1) / 3)) / 2)), math.round((1 * gaps_1) / 3)) , int(((1 * gaps_1) - math.round((1 * gaps_1) / 3)) / 2)))
    out
MoonFlagAverage(gaps_1,data)=>
    float out = 0.
    out:=d(gaps_1,d(gaps_1, d(gaps_1, data)))
    out

fastLength = input.int(50,  "MACD SMA Fast Length")
slowlength = input.int(200, "MACD SMA Slow Length")
MACDLength = 9//input.int(9,   "MACD Length")

MACD  = ta.ema(close, fastLength) - ta.ema(close, slowlength)
aMACD = ta.sma(MACD, MACDLength)
MACDdelta = MACD - aMACD

//plot (MACD, "MACD1", color.red)
//plot (aMACD, "aMACD1", color.green)
//plot (delta, "MACD delta", color.white)

fastLength2 = input.int(12, "MoonFlag Momentum Length")
slowlength2 = 2*fastLength2//input.int(50, "MoonFlag Momentum Slow Length")
MACDLength2 = 20//input.int(20, "Momentum Delta")

MoonFlag_MACD2 = MoonFlagAverage(fastLength2, close) - MoonFlagAverage(slowlength2,close)
MoonFlag_aMACD2 = MoonFlagAverage(MACDLength2, MoonFlag_MACD2)

MoonFlag_delta = MoonFlag_MACD2 - MoonFlag_aMACD2
MoonFlag_delta_line=0
if MoonFlag_delta < 0
    MoonFlag_delta_line:=-100
else
    MoonFlag_delta_line:=100
//plot (MoonFlag_MACD2, "MoonFlag Momentum Fast Length", color.red)
//plot (MoonFlag_aMACD2, "MoonFlag Momentum Slow Length", color.green)
//plot (MoonFlag_delta2, "MoonFlag Delta", color.white)

uptrend   = (close + high)/(close[1] + high[1])
downtrend =  (close + low)/(close[1] + low[1])

lineColor = color.green
if uptrend > 1
    lineColor := color.green
if downtrend < 1
    lineColor := color.red

smoothK     = 2//input.int(2, minval=1, title="K smoothing Stoch RSI")
smoothD     = 3//input.int(3, minval=1, title= "D smoothing for Stoch RSI")
lengthRSI   = 7//input.int(7, minval=1, title="RSI Length")
lengthStoch = 8//input.int(8, minval=1, title="Stochastic Length")
src = close//input(close, title="RSI Source")

rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
StochRSI = ta.sma(k, smoothD)

MACDdirection_line = 0
MACDdirection_line := MACDdirection_line[1]
if (MACDdelta > 0) 
    MACDdirection_line := 50
if (MACDdelta < 0) 
    MACDdirection_line := -50

useStochRSI = input.bool(true,"Include Condition (StochRSI > 20) with Exit Long/Enter Short")
StochRSI_val = 20//input.int(20,"StochRSI greater than to exit short")
h1 = hline(StochRSI_val)

StochRSIGreaterThanSetValue = true
if useStochRSI
    if  (StochRSI > StochRSI_val)
        StochRSIGreaterThanSetValue := true
    else
        StochRSIGreaterThanSetValue := false

stoch20 = lineColor
if StochRSI < StochRSI_val
    stoch20 := color.white

yearin = input.int(2019, title="Start backtesting from year:")

includeShorts = false//input.bool(false, "Include Shorts")

plot(MoonFlag_delta_line,"MoonFlag Momentum Direction", color.white)
plot(MACDdirection_line,"MACD Direction", color = color.orange)
plot(StochRSI, "StochRSI", color=lineColor)

if  (year>=yearin)
    if (MACDdelta > 0) and (uptrend > 1)   and MoonFlag_delta_line > 0
        strategy.entry("buy2", strategy.long, comment="buy")
    if (MACDdelta < 0) and (downtrend < 1) and MoonFlag_delta_line < 0 and StochRSIGreaterThanSetValue
        if includeShorts    
            strategy.entry("sell", strategy.short, comment="sell")
        else
            strategy.close("buy2", comment = "sell")