Golden Ratio Backtest der Long-Position-Strategie


Erstellungsdatum: 2023-11-28 13:40:35 zuletzt geändert: 2023-11-28 13:40:35
Kopie: 1 Klicks: 678
1
konzentrieren Sie sich auf
1617
Anhänger

Golden Ratio Backtest der Long-Position-Strategie

Überblick

Die Gold-Split-Retest-Long-Position-Strategie ist eine Swing-Trading-Strategie. Sie basiert auf den Gold-Split-Punkten der Höchst- und Tiefstpreise der letzten 21 Tage und hat eine Retest-Mechanismus, nur mehrere Köpfe und weist die Eigenschaften eines langen Positionshalters auf.

Strategieprinzip

Die Strategie berechnet zunächst die Höchstpreise high21 und low21 der letzten 21 Tage und berechnet dann die Differenz zwischen den beiden. Das Handelssignal lautet: Wenn der aktuelle Tiefpreis höher ist als low21 + diff * 0.382 und der vorherige K-Linie-Schlusskurs höher ist als der Eröffnungspreis der vorherigen K-Linie, macht man einen Plus.

Die Verwendung der Goldschnittlinie als wichtiger technischer Indikator ist darauf zurückzuführen, dass die Goldschnittlinie den allgemeinen Marktstütz- oder Widerstandspunkten entspricht. Die Zahlen 0,382 und 0,236 werden oft als Rückschalt- oder Rückprallpunkte überwacht und können als eine der magischsten Zahlen in der Natur bezeichnet werden.

Analyse der Stärken

Die Vorteile dieser Strategie sind:

  1. Die Goldspaltungstheorie ist eine ziemlich ausgereifte Methode der technischen Analyse, um den Handel zu leiten.

  2. Das ist eine sehr gute Idee, aber es ist nicht so einfach, es zu tun.

  3. Ein Trend-Tracking-Mechanismus wird verwendet, um die Zulassung durch Aufwärtsflexibilität zu bestimmen.

  4. Es gibt eine klare Stop-Line, um das Risiko zu kontrollieren.

  5. Die Rückmeldparameter sind anpassbar und können unter verschiedenen Marktbedingungen getestet werden.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Das Unternehmen ist auf historische Daten angewiesen und könnte nicht auf Veränderungen in der Marktstruktur reagieren.

  2. Die Stop-Loss-Linie ist näher und könnte von der Übernachtungs-GAP erschüttert werden.

  3. Bei starken Schwankungen kann ein falsches Signal durch falsche Rückmesszeiten verursacht werden.

  4. Die Schlupfpunktkosten der Quantitative Transaktionen selbst haben einen Einfluss auf die Gewinne.

Diese Risiken können durch die Anpassung der Rückmesszyklusparameter, die Optimierung der Stop-Loss-Position und die Berücksichtigung der Gleitpunktkosten verringert werden.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Automatische Optimierung der Parameter basierend auf einem Machine Learning-Algorithmus, um die Rückmesszyklusparameter besser an die aktuelle Marktumgebung anzupassen.

  2. In Kombination mit Derivaten wie Aktienindex-Futures wird der Einsatz von Leverage zur Vergrößerung der Operationen genutzt.

  3. Hinzufügen von Modellen zur Bearbeitung von Unvorhergesehenen, wie zum Beispiel die Identifizierung von Hüpfen.

  4. Optimierung der Stop-Loss-Strategie mit dynamischen Slip-Stops, die auf die Marktschwankungen zugeschnitten sind.

Zusammenfassen

Insgesamt handelt es sich um eine langfristige, mehrköpfige Strategie, die das Gold-Split-Line-Prinzip nutzt und über einen klaren Einstiegsmechanismus und eine Stop-Loss-Idee verfügt. Sie kann durch Parametrierung, Modelloptimierung und Kombinationsanwendungen zu einer zuverlässigen quantitativen Handelsstrategie optimiert werden.

Strategiequellcode
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © omkarkondhekar

//@version=4
strategy("GRBLong", overlay=true)

highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)

// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2019, minval=1800, maxval=2100)

// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

high21 = highest(high, highInput)
low21 = lowest(low, lowInput)

diff = high21 - low21

longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1] 

strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))

plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)