Eine gleitende Durchschnittsindikatorstrategie


Erstellungsdatum: 2024-02-26 11:10:23 zuletzt geändert: 2024-02-26 11:10:23
Kopie: 0 Klicks: 516
1
konzentrieren Sie sich auf
1617
Anhänger

Eine gleitende Durchschnittsindikatorstrategie

Überblick

Die Moving Average Indicator Strategy ist eine quantitative Handelsstrategie, die Markttrends anhand von Moving Averages beurteilt und Long- oder Short-Positions ausführt. Die Strategie beurteilt, ob ein Markt überkauft oder überverkauft ist, indem sie den Schlusskurs für eine bestimmte Periode berechnet, um die Chance auf eine Preisumkehr zu erfassen.

Strategieprinzip

Der Kern der Strategie ist der Stochastic Oscillator.

低点 = 最近N天的最低价中的最低值 
高点 = 最近N天的最高价中的最高值
K值 = (当前close - 低点)/(高点 - 低点)* 100

N-Wert ist die Länge. Der Indikator spiegelt im Großen und Ganzen die Position des aktuellen Schlusskurses in Bezug auf die neueste N-Tage-Preisspanne wider.

Wenn K größer ist als der Überkauf (BuyBand), wird eine Rückführung erfolgen; wenn K kleiner ist als der Überverkauf (SellBand), wird ein Aufprall erfolgen.

Nach diesem Urteilsprinzip wird die Strategie in der Überkauf-Band geöffnet und in der Überverkauf-Band gekauft. Die Niedrigstellung wird durch eine Rückkehr der Kennziffer in die mittlere Zone (SellBand, BuyBand) vorgegeben.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Die Verwendung von Moving Average-Indikatoren zur Bestimmung von Markttrends, bessere Rückmessung und einfache Handelssignale
  2. Durch die Anpassung der Parameter können Sie sich flexibel an verschiedene Zyklen und Sorten anpassen
  3. Die Strategie ist einfach, klar, leicht zu verstehen und zu optimieren.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Moving Averages sind anfällig für Fehlbewegungen und können zu Überkauf- und Überverkaufssignalen führen.
  2. Fehlgelegte Parameter können zu häufigen oder unsichtbaren Transaktionen führen
  3. Nur ein einziger Indikator ist zu optimieren

Diese Risiken können durch geeignete Optimierung der Indikatorparameter oder durch die Erhöhung der Filterbedingungen verringert werden.

Optimierungsrichtung

Die Strategie kann vor allem in folgenden Bereichen optimiert werden:

  1. Erhöhung der Filterung von Indikatoren wie Volumen oder ATR, um ein zuverlässigeres Handelssignal zu gewährleisten
  2. Zusammensetzung von mehreren Stoch-Zyklen, um ein Signal für Kombinationsoperationen zu erzeugen
  3. Hinzufügen von zusätzlichen Beurteilungsindikatoren wie MACD, KDJ usw., um eine Mehrindikatoraggregation zu erreichen
  4. Optimierung der Transaktionsarten, -perioden und -parameter für die optimale Konfiguration

Zusammenfassen

Die Moving Average-Strategie ist eine einfache, weit verbreitete und relativ stabile Einstiegsstrategie, die sich für den Quantifizierungshandel eignet. Die Strategie ist jedoch einheitlich und hat nur einen begrenzten Optimierungsraum und ist nur für kurzfristige Operationen geeignet. In Zukunft kann sie durch Aggregation mehrerer Indikatoren und maschinelles Lernen aktualisiert werden.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/09/2017
// Simple Overbought/Oversold indicator
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Overbought/Oversold", shorttitle="OB/OS")
Length = input(10, minval=1)
BuyBand = input(0.92, step = 0.01)
SellBand = input(0.5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line)
hline(SellBand, color=red, linestyle=line)
xOBOS = stoch(close, high, low, Length)
nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100)
pos = iff(nRes < SellBand, -1,
	   iff(nRes > BuyBand, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="OB/OS")