Trendfolgende Gewinnmaximierungsstrategie


Erstellungsdatum: 2023-10-11 14:38:40 zuletzt geändert: 2023-10-11 14:38:40
Kopie: 2 Klicks: 593
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie ermittelt die Richtung des aktuellen Trends durch die Berechnung von Moving Averages und Standard Differenz CHANNELs, um eine dynamische Auf- und Abwärtsbahn zu bilden und die Mittelwerte der höchsten und niedrigsten Preise zu kombinieren, um eine mittlere Bahn zu bilden. Die Strategie tritt auf, wenn der Preis eine Aufwärtsbahn durchbricht und bei einem Absturz nach unten geht.

Strategieprinzip

  1. Berechnen Sie den 20-Tage-Simplen Moving Average Basis für die Nähe als mittlere Referenzlinie
  2. Berechnung der 20-Tage-Standarddifferenz von close dev als Basis für den Abstand von Up-to-Down-Track bis zum Mittel-Track
  3. Mittelbahnbasis ± 2*Dev definiert Upper und Lower Tracks
  4. Berechnung des Durchschnittswertes der höchsten und niedrigsten Preise der letzten 20 Tage in Basis 2 als zweiter Mittelstrahl
  5. Die beiden oben genannten Mittelstrecken nehmen den Mittelwert MB als Endmittelstrecke.
  6. Wenn die Close größer ist als der mittlere MB, ist dies ein positives Signal. Wenn die MB größer ist als der nächste, ist dies ein negatives Signal.
  7. Sie können die Richtung des Kurses nach Signalen auswählen, um Trends zu verfolgen und zu profitieren.

Analyse der Stärken

  1. Die Verwendung eines dynamischen Standard-Differenz-Kanals zur schnellen Erfassung von Preisveränderungen
  2. Der Mittelstrahl ist in Kombination mit den Höchst- und Mindestpreisinformationen von größerer Bedeutung.
  3. Mit einem doppelten Mittelschienen-Design wird das Signal genauer und verlässlicher.
  4. Die Strategie ist einfach, klar und verständlich
  5. Weniger konfigurierbare Parameter für verschiedene Marktumgebungen

Risikoanalyse

  1. Ein Stop-Loss-Strategie ist erforderlich, um einzelne Verluste zu kontrollieren, wenn Sie einen Auf- oder Abtrieb durchbrechen.
  2. Es ist möglich, dass die Transaktionsfrequenz höher ist und die Auswirkungen der Gebühren berücksichtigt werden müssen.
  3. Parameters wie Period Parameter müssen sorgfältig optimiert werden, um eine Überpassung zu vermeiden
  4. Es ist möglich, dass sich die Handelssignale bei Trends ändern.
  5. Es ist notwendig, die Finanzen gut zu verwalten und nicht zu stark zu nutzen.

Optimierungsrichtung

  1. Erhöhung der Filterbedingungen bei Überbrüchen auf und ab der Schiene, um falsche Durchbrüche zu vermeiden
  2. Dynamische Stop-Loss-Exit-Einstellungen können basierend auf ATR oder anderen Kennzahlen vorgenommen werden.
  3. Informationen über die Anzahl der Transaktionen können verwendet werden, um die Zuverlässigkeit der Durchbruchsignale zu überprüfen.
  4. Optimierbar für Parameter wie Berechnungszyklen, um mehr Marktumgebungen anzupassen
  5. Es kann in Betracht gezogen werden, die Anzahl der Positionen zu definieren, um das Risiko eines Einzelschadens zu kontrollieren.

Zusammenfassen

Die Gesamtkonzeption der Strategie ist klar und verständlich. Durch die dynamische Channel-Erfassung von Trends und die Erzeugung von Handelssignalen in Kombination mit mehreren Mittelschienen können Trends effektiv verfolgt werden, um bessere Handelsrenditen zu erzielen. In der praktischen Anwendung müssen die Stop-Loss-Strategie, das Geldmanagement und die Optimierung für die Parameter berücksichtigt werden, um langfristige stabile Gewinne zu erzielen.

Strategiequellcode
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 4h
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/
// © ErdemDemir

//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)

src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0


lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)


MB= (basis+basis2)/2





col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)

// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)

// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
    isLong := true
    isShort := false

if (sellSignal)
    isLong := false
    isShort := true







/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")

strategy.close("long", when=sellSignal, comment = "Close Long")

/// SHORT
strategy.entry("short", false,  when = sellSignal, comment="Open Short")

strategy.close("short", when=buySignal, comment = "Close Short")