Zwei-richtungs-Null-Achsen-Übergang Qstick-Indikator Backteststrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-24 14:14:07
Tags:

img

Übersicht

Die bi-directional crossing zero axis Qstick-Indikator-Backtest-Strategie ist eine Trendverfolgungs- und Signalgenerierungsstrategie, die auf dem von Tushar Chande entwickelten Qstick-Technischen Indikator basiert.

Strategieprinzip

Der Qstick-Indikator wird durch die Berechnung des gleitenden Durchschnitts der Differenz zwischen Schlusskurs und Eröffnungskurs über einen bestimmten Zeitraum ermittelt. Wenn Qstick größer als 0 ist, bedeutet dies, dass der Schlusskurs im Allgemeinen höher war als der Eröffnungskurs in diesem Zeitraum und die bullische Macht vorherrschte; wenn Qstick kleiner als 0 ist, bedeutet dies, dass der Eröffnungskurs im Allgemeinen höher war als der Schlusskurs in diesem Zeitraum und die bärische Macht vorherrschte.

Die Handelssignale dieser Strategie entstehen, wenn der Qstick-Indikator die Null-Achse überschreitet. Ein Kaufsignal wird erzeugt, wenn der Qstick von unten über Null überschreitet, was darauf hindeutet, dass der Kaufdruck den Verkaufsdruck übersteigt und eine Long-Position aufgestellt werden kann; umgekehrt wird ein Verkaufsignal erzeugt, wenn der Qstick von oben unter Null überschreitet, was darauf hindeutet, dass der Verkaufsdruck zunimmt und bestehende Positionen geschlossen werden sollten. Darüber hinaus kann ein gleitender Durchschnitt der Qstick-Werte als Signallinie dargestellt werden, und auch Handelssignale können erzeugt werden, wenn der Qstick-Indikator diese Signallinie überschreitet.

Diese Strategie erlaubt den Umkehrhandel. Das heißt, wenn ursprünglich ein Kaufsignal erzeugt werden soll, wird eine tatsächliche Verkaufsaktion durchgeführt; wenn ursprünglich ein Verkaufssignal erzeugt werden soll, wird eine tatsächliche Kaufsaktion durchgeführt. Dies kann verwendet werden, um Mainstream-Investoren auf dem Markt umzukehren.

Analyse der Vorteile

Die zweiseitige Kreuzung der Null-Achse Qstick-Strategie hat folgende Vorteile:

  1. Verwenden Sie einfache und intuitive Indikatoren, um den Kauf- und Verkaufsdruck des Marktes zu bestimmen, und erzeugen Sie klare Signale
  2. Annahme eines gleitenden Durchschnittsdifferenzindikators, der Marktlärm wirksam filtern kann
  3. Um falsche Signale zu vermeiden, können Signallinien gezogen werden
  4. Unterstützung des Umkehrhandels, der zur Nachverfolgung von Hauptinvestoren genutzt werden kann
  5. Anpassbare Parameter für verschiedene Bestände und Marktumgebungen

Risikoanalyse

Die zweiseitige Überquerung der Null-Achse Qstick-Strategie birgt ebenfalls einige Risiken:

  1. Qstick-Indikator hat eine Verzögerung bei der Erkennung von Wendepunkten, möglicherweise fehlt der beste Einstiegspunkt
  2. Häufige Signale führen zu relativ hohen Transaktionskosten
  3. Umkehrhandel birgt höhere Risiken und muss mit Vorsicht angewendet werden

Zur Verringerung der Risiken können folgende Methoden angewendet werden:

  1. Optimierung der Qstick-Zyklusparameter zur Verringerung der Indikatorverzögerung
  2. Erhöhen Sie die Signalleitzyklusparameter, um falsche Signale zu reduzieren
  3. Nur im Rahmen bestimmter Phasen ein Umkehrhandel einführen und die Positionsgröße steuern

Optimierungsrichtlinien

Die zweiseitige Kreuzung der Null-Achse Qstick-Strategie kann in folgenden Aspekten optimiert werden:

  1. Einbeziehung anderer Indikatoren in Filtersignale, wie Volumenindikatoren, Volatilitätsindikatoren usw., um falsche Signale in nicht-trendenden Umgebungen zu vermeiden
  2. Hinzufügen von Stop-Loss-Strategien, um den Stop-Loss zu erreichen, wenn die Verluste einen bestimmten Prozentsatz erreichen
  3. Weitere Untersuchungen zur Bestimmung der optimalen Kombination von Qstick- und Signalleitungszyklusparametern
  4. Verwenden von Methoden des maschinellen Lernens, um automatisch optimale Parameter zu bestimmen
  5. Prüfung der Wirksamkeit dieser Strategie in bestimmten Branchen oder einzelnen Beständen

Schlussfolgerung

Die bidirektionale Querschnitt-Null-Achse Qstick-Strategie nutzt einfache Indikatoren, um Veränderungen im Kauf- und Verkaufsdruck zu bestimmen, und erzeugt Handelssignale, wenn der Qstick-Indikator die Null-Achse überschreitet, die Preistrends effektiv erfassen können. Diese Strategie ist intuitiv und leicht zu verstehen, geeignet für Anfänger und kann auch auf viele Arten optimiert werden, um den Bedürfnissen fortgeschrittener Trader gerecht zu werden. Diese Strategie hat jedoch auch bestimmte Mängel und muss vorsichtig verwendet werden. Im Allgemeinen ist dies eine sehr praktische Trendverfolgungs- und Signalgenerierungsstrategie.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/2018
// A technical indicator developed by Tushar Chande to numerically identify 
// trends in candlestick charting. It is calculated by taking an 'n' period 
// moving average of the difference between the open and closing prices. A 
// Qstick value greater than zero means that the majority of the last 'n' days 
// have been up, indicating that buying pressure has been increasing. 
//
// Transaction signals come from when the Qstick indicator crosses through the 
// zero line. Crossing above zero is used as the entry signal because it is indicating 
// that buying pressure is increasing, while sell signals come from the indicator 
// crossing down through zero. In addition, an 'n' period moving average of the Qstick 
// values can be drawn to act as a signal line. Transaction signals are then generated 
// when the Qstick value crosses through the trigger line.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Qstick Indicator Backtest")
Length = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xR = close - open
xQstick = sma(xR, Length)
clr = iff(xQstick >= 0, green, red)
pos = iff(xQstick > 0, 1,
       iff(xQstick < 0, -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 ) 
p1 = plot(0, color=black, title="0")
p2 = plot(xQstick, color=blue, title="Qstick")
fill(p1, p2, color=clr)

Mehr