Zukünftige Routenvorhersagestrategie für Mike D.


Erstellungsdatum: 2023-12-13 17:21:44 zuletzt geändert: 2023-12-13 17:21:44
Kopie: 0 Klicks: 445
1
konzentrieren Sie sich auf
1213
Anhänger

Zukünftige Routenvorhersagestrategie für Mike D.

Überblick

Die Kernidee dieser Strategie ist die Prognose von Preistrends durch die Analyse der zukünftigen Entwicklung des McD-Indikators. Die Strategie nutzt die Handelssignale, die durch die Kreuzung der schnellen und der langsamen Durchschnittslinie des McD-Indikators erzeugt werden.

Strategieprinzip

  1. Berechnen Sie die Differenz zwischen dem MACD-Wert und den historischen Werten und beurteilen Sie daraus den Anstieg und den Rückgang der MACD- und Signallinien.
  2. Der Wert des MACD-Index wird über einen Zeitraum von 4 Stunden berechnet, um die zukünftige Entwicklung des MACD-Index zu bestimmen und die Preisentwicklung vorherzusagen.
  3. Wenn der MACD-Differenzwert größer als 0 ist (um den Mehrkopfmarkt zu repräsentieren) und voraussichtlich weiter steigen wird, machen Sie mehr; wenn der MACD-Differenzwert kleiner als 0 ist (um den Leerkopfmarkt zu repräsentieren) und voraussichtlich weiter fallen wird, machen Sie Leer.
  4. Die Strategie kombiniert Trend-Tracking und Trend-Umkehr-Trading, um Trends zu erfassen und auch zu erkennen, wann sie sich umdrehen.

Strategische Stärkenanalyse

  1. Der MACD-Indikator kann die Vorteile von Markttrends ermitteln und so die Erschütterungen effektiv filtern und die langen Trends erfassen.
  2. Mit Hilfe der Prognose der zukünftigen Entwicklung des McD-Indikators können die Preiswendepunkte frühzeitig erfasst und die vorausschauende Strategie verbessert werden.
  3. Die Kombination von Trend-Tracking und Trend-Umkehr-Trading-Methoden ermöglicht es Ihnen, Ihre Positionen zeitgerecht umzukehren, um mehr zu erzielen.
  4. Die Strategieparameter sind anpassbar und können von den Benutzern für unterschiedliche Zeiträume und Marktumstände optimiert werden, um die Strategie zu stabilisieren.

Strategische Risikoanalyse

  1. Die Prognose, die auf die zukünftige Entwicklung des McD-Indikators beruht, führt zu einem Fehlschlag, wenn sie nicht zutrifft.
  2. Die Einzelschäden müssen mit Stop-Loss-Methoden gesteuert werden. Die falsche Einstellung der Stop-Loss-Marge beeinträchtigt auch die Effektivität der Strategie.
  3. Der MACD-Indikator verpasst möglicherweise eine schnelle Preisumkehr aufgrund von Verzögerungen. Dies ist eine Sorge für die strategische Performance unter hoher Volatilität.
  4. Die Auswirkungen der Transaktionskosten sind zu beachten.

Richtung der Strategieoptimierung

  1. In Kombination mit anderen Indikatoren zur Prognose, reduziert die Abhängigkeit von einem einzigen McD-Indikator, erhöht die Prognose-Genauigkeit.
  2. Mit Hilfe eines maschinellen Lernens wird ein Modell trainiert, das den zukünftigen Trend des McD-Index vorhersagt.
  3. Optimierung der Parameter-Einstellungen und Suche nach der optimalen Parameterkombination.
  4. Für verschiedene Marktumgebungen sind unterschiedliche Parameterkonfigurationen geeignet, wobei automatische Optimierungsparameter für die Anpassung an das System hinzugefügt werden können.

Zusammenfassen

Die Strategie nutzt die Vorteile der McD-Indikatoren zur Trendbeurteilung und ergänzt die Prognoseanalyse der zukünftigen Entwicklung des Indikators, um die wichtigen Wendepunkte auf der Grundlage des Trendfangens zu erfassen. Im Vergleich zu dem einfachen Trendverfolgung ist die Anwendung dieser Strategie vorausschauender und bietet mehr Gewinnspielraum. Natürlich gibt es auch gewisse Risiken, die weiter optimiert und verbessert werden müssen.

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

// @version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © x11joe
strategy(title="MacD (Future Known or Unknown) Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

//OPTIONAL:: Allow only entries in the long or short position
allowOnlyLong = input(title="Allow position ONLY in LONG",type=input.bool, defval=false)
allowOnlyShort = input(title="Allow position ONLY in SHORT",type=input.bool, defval=false)


strategy.risk.allow_entry_in(allowOnlyLong ? strategy.direction.long : allowOnlyShort ? strategy.direction.short : strategy.direction.all) // There will be no short entries, only exits from long.

// Create MacD inputs
fastLen = input(title="MacD Fast Length", type=input.integer, defval=12)
slowLen = input(title="MacD Slow Length", type=input.integer, defval=26)
sigLen  = input(title="MacD Signal Length", type=input.integer, defval=9)

// Get MACD values
[macdLine, signalLine, _] = macd(close, fastLen, slowLen, sigLen)
hist = macdLine - signalLine

useFuture = input(title="Use The Future?",type=input.bool,defval=true)

macDState(resolutionType) =>
    hist_from_resolution = security(syminfo.tickerid, resolutionType, hist,barmerge.gaps_off, barmerge.lookahead_on)
    Green_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution > 0
    Green_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution > 0
    Red_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution <= 0
    Red_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution <= 0
    result=0
    if(Green_IsUp)
        result := 1
    if(Green_IsDown)
        result := 2
    if(Red_IsDown)
        result := 3
    if(Red_IsUp)
        result := 4
    result

macDStateNonFuture(resolutionType) =>
    hist_from_resolution = security(syminfo.tickerid, resolutionType, hist,barmerge.gaps_off, barmerge.lookahead_off)
    Green_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution > 0
    Green_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution > 0
    Red_IsDown = hist_from_resolution < hist_from_resolution[1] and hist_from_resolution <= 0
    Red_IsUp = hist_from_resolution > hist_from_resolution[1] and hist_from_resolution <= 0
    result=0
    if(Green_IsUp)
        result := 1
    if(Green_IsDown)
        result := 2
    if(Red_IsDown)
        result := 3
    if(Red_IsUp)
        result := 4
    result

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"
// === INPUT BACKTEST RANGE END ===

//Get FUTURE or NON FUTURE data
macDState240=useFuture ? macDState("240") : macDStateNonFuture("240") //1 is green up, 2 if green down, 3 is red, 4 is red up

//Fill in the GAPS
if(macDState240==0)
    macDState240:=macDState240[1]

//Plot Positions
plot(close,color= macDState240==1 ? color.green : macDState240==2 ? color.purple : macDState240==3 ? color.red : color.yellow,linewidth=4,style=plot.style_histogram,transp=50)

if(useFuture)
    strategy.entry("buy_1",long=true,when=window() and (macDState240==4 or macDState240==1))
    strategy.close("buy_1",when=window() and macDState240==3 and macDState240[1]==4)
    strategy.entry("sell_1",long=false,when=window() and macDState240==2)
else
    strategy.entry("buy_1",long=true,when=window() and (macDState240==4 or macDState240==1))//If we are in a red macD trending downwards MacD or in a MacD getting out of Red going upward.
    strategy.close("buy_1",when=window() and macDState240==3 and macDState240[1]==4)//If the state is going upwards from red but we are predicting back to red...
    strategy.entry("sell_1",long=false,when=window() and macDState240==2)//If we are predicting the uptrend to end soon.