Zweijahreshoch-Callback-Strategie für gleitenden Durchschnitt


Erstellungsdatum: 2024-01-26 14:49:28 zuletzt geändert: 2024-01-26 14:49:28
Kopie: 1 Klicks: 577
1
konzentrieren Sie sich auf
1617
Anhänger

Zweijahreshoch-Callback-Strategie für gleitenden Durchschnitt

Übersicht

Die Strategie basiert auf der Berechnung des zweijährigen Neuhöchstpreises und des beweglichen Durchschnitts der Aktie. Ein Kaufsignal wird erzeugt, wenn der Aktienpreis nach dem Erreichen eines zweijährigen Neuhöchstpreises auf den 13. Index beweglichen Durchschnitt zurückgreift.

Strategieprinzip

Die Kernlogik dieser Strategie basiert auf folgenden einzigartigen Berechnungsmethoden:

  1. Ein kurzfristiger Preishoch entsteht, wenn der Aktienpreis seinen höchsten Wert in zwei Jahren erreicht hat.

  2. Wenn der Preis von diesem neuen Höchstwert abfällt und zum 13-Tage-Moving Average zurückgreift, ist dies eine bessere Kaufgelegenheit.

  3. Darüber hinaus muss der Aktienpreis bei einem Kaufsignal im Bereich von 10% des zweijährigen neuen Höchstpreises liegen, nicht zu weit entfernt. Außerdem sollte er unterhalb der 13er-Linie und über der 21er-Linie liegen, was die Timing-Option des Kaufs gewährleistet.

  4. Für die gehaltenen Positionen, wenn der Preis um 5% unter der 21-Tage-Linie oder um 20% unter dem zweijährigen Höchststand fällt, wird der Gewinn im Bereich eingestellt.

Strategie-Vorteile

Es ist eine brechende Strategie mit folgenden Vorteilen:

  1. Der zweijährige Höchststand ist ein einzigartiger Preis, mit dem man die Chancen für eine mögliche Trendwende einschätzen kann.

  2. Der 13-Tage-Moving-Average dient als Markteinführungsgrundlage, um Schwankungen effektiv zu filtern und eine stärkere Dynamik zu bestimmen.

  3. Die einzige Berechnungsmethode, die wir haben, ist die Nutzung von Preismerkmalen als Signal, um subjektive Vermutungen zu vermeiden.

  4. Die meisten Gewinne können durch angemessene Stop-Loss-Bewertung gesperrt werden.

Strategische Risiken und Lösungen

Die Strategie birgt auch einige Risiken, insbesondere:

  1. Es kann zu einer tiefen Rückrufung kommen, bei der der Schaden nicht vollständig eingestellt werden kann. Die Umgebung muss beurteilt werden, um festzustellen, ob der Schaden endgültig eingestellt wurde.

  2. Bei einer großen Lücke über Nacht ist ein perfekter Stop-Loss nicht möglich. Dies erfordert eine angemessene Lockerung der Stop-Loss-Werte als Reaktion.

  3. Die Wirkung der Schwingung des Filters der Linie 13 kann unerwünscht sein und zu viele falsche Signale erzeugen. In diesem Fall kann die Schwingung auf die Linie 21 ausgedehnt werden.

  4. Der Trend-Wechselpunkt, der neu beschrieben wird, kann nicht so gut wirken, dass er in Kombination mit anderen Indikatoren in Betracht gezogen werden kann.

Strategie-Optimierungsvorschläge

Die Strategie hat noch Optimierungsmöglichkeiten:

  1. Es gibt auch andere Instrumente, um das Umfeld zu beurteilen und unnötige Positionen zu vermeiden.

  2. Erhöhung der Urteilsfähigkeit und anderer Kennzahlen, um weitere Fehlbeobachtungen in Schwingungsbereichen zu vermeiden.

  3. Optimierung der Moving Average-Parameter, damit sie die Preise besser erfassen können.

  4. Die Strategie wird durch die Nutzung von maschinellen Lernmethoden zur dynamischen Optimierung der zweijährigen neuen Höchstpreisparameter flexibler gestaltet.

Zusammenfassung

Die Strategie ist eine einzigartige Langstrecken-Breakthrough-Strategie. Der entscheidende Punkt ist, dass die wichtigen Preise für die zweijährigen Höchststände verwendet werden, wobei der 13-Tage-Moving Average als Filter- und Einstiegsbasis verwendet wird. Die Strategie hat einige Vorteile, aber es gibt auch Optimierungsmöglichkeiten, die es wert sind, weiter untersucht zu werden.

Strategiequellcode
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
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/
// © Part Timer

//This script accepts from and to date parameter for backtesting. 
//This script generates white arrow for each buying signal

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

//i_endTime = input(defval = timestamp("02 Jun 2021 15:30 +0000"), title = "End Time", type=input.time)

StartYear=input(defval = 2000, title ="Start Year", type=input.integer)
StartMonth=input(defval = 01, title ="Start Month", type=input.integer)
StartDate=input(defval = 01, title ="Start Date", type=input.integer)

endYear=input(defval = 2021, title ="End Year", type=input.integer)
endMonth=input(defval = 06, title ="End Month", type=input.integer)
endDate=input(defval = 03, title ="End Date", type=input.integer)

ema11=ema(close,11)
ema13=ema(close,13)
ema21=ema(close,21)

afterStartDate = true
//g=bar_index==1
//ath()=>
    //a=0.0
    //a:=g ? high : high>a[1] ? high:a[1]
    
//a = security(syminfo.tickerid, 'M', ath(),lookahead=barmerge.lookahead_on)

newHigh = (high > highest(high,504)[1])
//plot down arrows whenever it's a new high
plotshape(newHigh, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.tiny)
b=highest(high,504)[1]
VarChk=((b-ema13)/b)*100
TrigLow = (low <= ema13) and (low >= ema21) and (VarChk <= 10)
plotshape(TrigLow, style=shape.triangleup, location=location.belowbar, color=color.white, size=size.tiny)
ExitPrice=(ema21 - (ema21*0.05))
DrawPrice=(b - (b*0.20))
stopprice=0.0
if (close <= ExitPrice)
    stopprice := ExitPrice
if (close <= DrawPrice)
    stopprice := DrawPrice

if (TrigLow and afterStartDate)
    strategy.entry("Long", strategy.long)

strategy.exit("exit","Long", stop=stopprice)
//beforeEndDate = (time < i_endTime)
beforeEndDate = (time >= timestamp(syminfo.timezone,endYear, endMonth, endDate, 0, 0))
if (beforeEndDate)
    strategy.close_all()