Quant Trading Strategie auf der Grundlage der monatlichen und vierteljährlichen gleitenden Durchschnittsoperation

Schriftsteller:ChaoZhang, Datum: 2023-12-15 11:49:06
Tags:

img

Übersicht

Diese Strategie basiert hauptsächlich auf den gleitenden Durchschnitten monatlicher und vierteljährlicher Linien für den Betrieb. Insbesondere wird die 20-Tage-Linie als monatliche Linie und die 60-Tage-Linie als vierteljährliche Linie verwendet. Die Strategiesignale stammen aus dem goldenen Kreuz und dem Todeskreuz der beiden gleitenden Durchschnitte. Wenn die monatliche Linie über die vierteljährliche Linie überschreitet, gehen Sie lang; wenn die monatliche Linie unter die vierteljährliche Linie fällt, schließen Sie Positionen. Diese Strategie eignet sich für mittelfristige und langfristige Operationen, um Konsolidierungs- und Divergenzchancen zu erfassen.

Strategie Logik

Diese Strategie verwendet den 20-tägigen einfachen gleitenden Durchschnitt als monatlichen Linienindikator und den 60-tägigen einfachen gleitenden Durchschnitt als vierteljährlichen Linienindikator.

  1. Wenn die 20-Tage-Linie die 60-Tage-Linie überschreitet, also ein goldenes Kreuz auftritt, gehen Sie lang.
  2. Wenn der Kurs von seinem höchsten Stand der letzten 10 Tage um mehr als 10% zurückfällt, schließen Sie die Long-Positionen, um Gewinn zu machen.
  3. Wenn die 20-Tage-Linie unterhalb der 60-Tage-Linie überschreitet, d.h. ein Todeskreuz auftritt, schließen Sie alle Positionen.
  4. Wenn der Verlust 10% erreicht, Stop-Loss.

Verwenden Sie die gleitenden Durchschnittsüberschreitungen von monatlichen und vierteljährlichen Linien, um mittelfristige und langfristige Trends zu bestimmen. Das goldene Kreuz für Long zeigt den Beginn eines mittelfristigen und langfristigen Bullenmarktes an, während das Todeskreuz für Short den Beginn eines mittelfristigen und langfristigen Bärenmarktes anzeigt. Gleichzeitig verwenden Sie Stop-Profit- und Stop-Loss-Strategien, um Risiken zu kontrollieren.

Vorteile der Strategie

  1. Die Verwendung von monatlichen und vierteljährlichen gleitenden Durchschnitten filtert Marktlärm aus und erfasst mittelfristige und langfristige Trends.
  2. Die Strategieparameter sind einfach und leicht umzusetzen.
  3. Anpassbare Profit- und Stop-Loss-Parameter zur Risikokontrolle.

Risikoanalyse

  1. Nicht in der Lage, Trendumkehrpunkte zu bestimmen, mit Gefahr von Verlusten.
  2. Monatliche und vierteljährliche gleitende Durchschnitte haben nachträgliche Auswirkungen und könnten kurzfristige Chancen verpassen.
  3. Sie müssen geeignete Stopp-Loss-Punkte auswählen, um zu schnell nicht gestoppt zu werden.

Lösungen:

  1. Verwenden Sie einen Stop-Loss, um rechtzeitig zu stoppen.
  2. Einbeziehung anderer Indikatoren, um Signale zu filtern und Trends zu bestimmen.
  3. Anpassung der gleitenden Durchschnittsparameter zur Optimierung der Strategie.

Richtungen für die Optimierung der Strategie

  1. Hinzufügen anderer Indikatoren zur Filterung, wie z. B. KD-Indikator usw., um falsche Ausbrüche zu vermeiden.
  2. Optimieren Sie die gleitenden Durchschnittsparameter, um die beste Parameterkombination zu finden.
  3. Einbeziehen Sie zusätzliche Gewinnstrategien, z. B. Gewinn abschleppen, um mehr Gewinn zu erzielen.

Zusammenfassung

Diese Strategie nutzt systematisch die Vorteile von monatlichen und vierteljährlichen gleitenden Durchschnitten, indem sie mittelfristige und langfristige Trendrichtungen anhand des goldenen Kreuzes und des Todeskreuzes der gleitenden Durchschnitte beurteilt. Gleichzeitig werden angemessene Stop-Loss- und Take-Profit-Mechanismen konfiguriert, um Risiken zu kontrollieren. Es gibt noch viel Raum für die Optimierung dieser Strategie, die es wert ist, weiter getestet und optimiert zu werden.


/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30)
sma20 = sma(close, 20)
sma60 = sma(close, 60)

plot(sma20, title="月線", color=color.purple,linewidth=2)
plot(sma60, title="季線", color=color.yellow,linewidth=2)

backtest_year = input(title="backtest_year",type=input.integer,defval=2020)
backtest_month = input(title="backtest_month",type=input.integer,defval=10)
backtest_date = input(title="backtest_date",type=input.integer,defval=1)
backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0)

to_long = sma20 > sma60  and close > highest(10)*0.9 // 黃金交叉
to_close = sma20 < sma60 // 死亡交叉
to_exit = close < highest(10)*0.9 //股價嚴重回檔
to_stop = close < 0.9*strategy.position_avg_price 

// to_long = crossover(sma20, sma60)   // 黃金交叉
// to_close = crossunder(sma20, sma60) // 死亡交叉

//plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar)
//plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar)
//strategy.close("open long",when = tslide, comment="多單滑價7%出場")
if true
    strategy.entry("golden", strategy.long,  when=to_long,comment="多單入場")
    strategy.close("golden",  when=to_exit,comment="多單滑價7%出場")
    strategy.close("golden",  when=to_close,comment="月線季線死亡交叉")
    strategy.close("golden",  when=to_stop,comment="虧損10%強迫停損")


Mehr