Schnelle Handelsstrategie mit niedrigem Verzögerungsprozess

Schriftsteller:ChaoZhang, Datum: 2023-12-25 14:24:38
Tags:

Die Strategie heißt Low Lag Triple Moving Average Fast Trading Strategy. Ihre Hauptidee ist es, Ein- und Ausstiege auf der Grundlage des goldenen Kreuzes und des Todeskreuzes von drei gleitenden Durchschnitten mit verschiedenen Parametern und einem niedrigen Verzögerungsdesign zu bestimmen.

Strategieprinzip

Die Strategie verwendet drei schwache gleitende Durchschnitte, darunter 12-, 26- und 55-Perioden-Low-Lag-TEMA. Diese drei MAs repräsentieren schnelle, mittlere und langsame MAs. Wenn der schnelle MA über den mittleren MA überschreitet, wird ein Kaufsignal generiert. Wenn der schnelle MA unter den mittleren MA überschreitet, wird ein Verkaufssignal generiert. Durch die Verwendung des Crossovers der drei MAs zur Bestimmung von Marktein- und Ausstiegspunkten kann ein Hochfrequenzhandel erreicht werden.

Die Vorlagefunktion tema() wird im Code zur Berechnung der TEMA mit geringer Verzögerung definiert. Die Berechnungsformel lautet: TEMA = 2*EMA - EMA(EMA). Für die Berechnung wird der doppelte exponentielle gleitende Durchschnitt EWMA verwendet. Im Wesentlichen handelt es sich um eine doppelt glättete EMA mit dem Hauptvorteil, den Verzögerungseffekt weitgehend zu reduzieren. Dadurch kann sie schneller auf Preisänderungen reagieren und die Aktualität der Handelssignale verbessern.

Insbesondere sind die Einstiegsregeln dieser Strategie folgende: Wenn der schnelle MA über den mittleren MA überschreitet und der schnelle MA über dem langsamen MA liegt, wird ein Kaufsignal generiert.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass die Ein- und Ausgänge schnell und genau bestimmt werden. Das Low-Lack-Design der drei MA reduziert den Verzögerungseffekt erheblich, so dass sie schnell auf Preisänderungen reagieren können. Auch die Verwendung des Crossovers von drei MA zur Bestimmung von Signalen vermeidet falsche Signale.

Darüber hinaus eignet sich diese Strategie für den Hochfrequenzhandel, um Gewinne aus kurzfristigen Kursschwankungen zu erzielen.

Risikoanalyse

Das größte Risiko besteht darin, dass ultra-kurzfristige Whipsaws auftreten können. Aufgrund der hohen Empfindlichkeit gegenüber Preisänderungen durch das Low-Lag-Design können einige Märkte hofrequente Schwankungen erleben. Dann sind Whipsaws sehr wahrscheinlich.

Auch beim Hochfrequenzhandel müssen relativ hohe Provisionen und Slippage-Kosten gezahlt werden, und wenn die Gewinnfähigkeit nicht ausreicht, können leicht Verluste aus den Handelskosten entstehen.

Darüber hinaus erfordert diese Strategie, dass der Händler über starke Echtzeitüberwachungsfähigkeiten verfügt, um den Stop-Loss zu aktualisieren und rechtzeitig Gewinn zu erzielen.

Optimierungsrichtlinien

Die Strategie kann aus folgenden Gesichtspunkten optimiert werden:

  1. Optimierung der Periodenparameter der drei Marktbeihilfen, um sie besser auf die unterschiedlichen Merkmale des Marktes abzustimmen.

  2. Hinzufügen von Volatilitätsindikatoren oder Volumenindikatoren zur Bestätigung von Signalen und zur Vermeidung von Whipsaws auf unterschiedlichen Märkten.

  3. Einbeziehung weiterer Faktoren zur Einrichtung dynamischer Trailing Stop-Mechanismen.

  4. Optimierung der Positionsgröße zur Kontrolle der einzelnen Handelsrisiken durch Geldmanagementtechniken.

  5. Einbeziehung von Algorithmen für maschinelles Lernen zur dynamischen Optimierung der Strategieparameter.

Schlussfolgerung

Dies ist eine schnelle Handelsstrategie mit niedrigem Verzögerungszeitraum. Durch sein niedriges Verzögerungsdesign können schnelle Ein- und Ausstiege erzielt werden, was für den Hochfrequenzhandel geeignet ist, um kurzfristige Chancen zu erfassen. Der größte Vorteil dieser Strategie ist, dass ihre Signalbestimmung schnell und genau ist. Der größte Nachteil ist, dass sie in unterschiedlichen Märkten verfälscht wird. Dieser Artikel fasst diese Handelsstrategie durch eine detaillierte Analyse ihrer Gründe, Vorteile, Risiken und Optimierungsrichtungen umfassend zusammen.
[/trans]


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("scalping low lag tema etal", shorttitle="Scalping tema",initial_capital=10000, overlay=true)
mav = input(title="Moving Average Type", defval="temadelay", options=["nkclose", "ema", "emadelay", "fastema", "tema", "temadelay"])
lenb = 3
N = input(8)
K = input(1.2)
fracCap = input(1.0)
in = close + K*mom(close,N)
source = close
length = 8
sigma  = 12.0
offset = 0.9
p = 4
// length = 10
// sigma  = 6.0
// offset = 0.85
tema(src,len) => fastemaOut = 2*ema(src, len) - ema(ema(src, len), len)


a = 0.0
b = 0.0
c = 0.0
if mav == "nkclose"
    a := ema(in, 12)
    b := a[1]
    c := a[2]
if mav == "ema"
    a := ema(close, 12)
    b := ema(close, 26)
    c := ema(close, 55)
if mav == "emadelay"
    a := ema(close, 12)
    b := a[1]
    c := a[2]
if mav == "fastema"
    a := ema(in, 12)
    b := ema(in, 26)
    c := ema(in, 55)
if mav == "tema"
    a := tema(close, 12)
    b := tema(close, 26)
    c := tema(close, 55)
if mav == "temadelay"
    a := tema(close, 12)
    b := a[1]
    c := a[2]

TP = input(200)
SL = input(130)
TS = input(1)
// TP = input(50)
// SL = input(110)
// TS = input(1)

orderSize = floor((fracCap * strategy.equity) / close)
long = cross(a, c) and a > b
short = cross(a, c) and a < b
plot(a, title="12", color=color.red, linewidth=1)
plot(b, title="26", color=color.blue, linewidth=1)
plot(c, title="55", color=color.green, linewidth=1)

strategy.entry("Long", strategy.long, qty=orderSize,  when=long)
strategy.entry("Short", strategy.short, qty=orderSize,  when=short)
// strategy.entry("Long", strategy.long,  100.0, when=long)
// strategy.entry("Short", strategy.short,  100.0, when=short)
// strategy.entry("Long", strategy.long, 100.0, when=long)
// strategy.entry("Short", strategy.short, 100.0, when=short)
// strategy.entry("Long", strategy.long, 1.0, when=long)
// strategy.entry("Short", strategy.short, 1.0, when=short)

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
// strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=long)
// strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=short)
// strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=long[1])
// strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=short[1])
strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP)


Mehr