Prozentsatzänderung Balkendiagramm Backtest Strategie

Schriftsteller:ChaoZhang, Datum: 15.11.2023
Tags:

img

Übersicht

Diese Strategie berechnet die prozentuale Veränderung des aktuellen Schlusskurses des Bars in Bezug auf den Schlusskurs vor N Bars und zeigt verschiedene farbige Histogrammbalken an, um den Trend zu bestimmen.

Strategie Logik

  1. Strategieparameter per Eingabe festlegen, einschließlich der Barbreite, der angezeigten Preisänderung oder prozentuale Veränderung, der Rückblicksperiode, der Kauf-/Verkaufsschwellen usw.

  2. Berechnen Sie die Preisdifferenz oder die prozentuale Differenz zwischen dem aktuellen Schlusskurs und dem Schlusskurs vor N Stäben.

  3. Sie müssen die Kauf- und Verkaufsschwellenlinien festlegen.

  4. Anzeigen von Histogrammbalken in verschiedenen Farben basierend auf der prozentualen Veränderung.

  5. Bei einer Veränderung des Prozentsatzes größer als die Kaufschwelle wird auf Long gesetzt und bei einer Verringerung der Verkaufschwelle auf Short gesetzt.

  6. Farbige Histogrammbalken entsprechend der Positionsrichtung.

  7. Ein- und Ausstieg nach Position.

Vorteile

  1. Intuitive Anzeige von Preisänderungstrends für die Entscheidungsfindung.

  2. Klare Ein- und Ausstiegssignale in Kombination mit Trendindikatoren.

  3. Die Parameter können für verschiedene Produkte und Zeitrahmen optimiert werden.

  4. Einfache und klare Logik, leicht zu verstehen und zu ändern.

  5. Gute Visualisierung für ein schnelles Trendbeurteilen.

Risiken

  1. Eine falsche Signalwirkung kann durch eine falsche Eintrittswahl zu Verlusten führen.

  2. Die Parameter müssen für Produkte mit hoher Volatilität angepasst werden, da ansonsten die Verlustwahrscheinlichkeit erhöht wird.

  3. Keine Erklärung für plötzliche Ereignisse wie bedeutende bearish Nachrichten.

  4. Eine kurze Rückprüfungsperiode kann die Robustheit der Parameter möglicherweise nicht bestimmen.

  5. Verpasste Umkehrmöglichkeiten ohne Stoppzeit.

Die Risiken können durch Parameteroptimierung, Signalfilterung mit anderen Indikatoren, Stop-Loss, Erweiterung der Backtest-Periode usw. kontrolliert werden.

Optimierungsrichtlinien

  1. Sie sollten eine Kombination mit anderen Indikatoren wie Trend- und Volatilitätsindikatoren in Betracht ziehen, um Signale zu bestätigen.

  2. Einführung von Algorithmen für maschinelles Lernen zur Optimierung der Parameter-Einstellungen.

  3. Ein dynamischer Stop-Loss ist so eingestellt, dass er den Betrag eines einzelnen Verlustes kontrolliert.

  4. Fügen Sie Stimmungsindikatoren und Nachrichten ein, um plötzliche Auswirkungen zu vermeiden.

  5. Hinzufügen von Handelszeiten oder Sessionfiltern.

  6. Optimieren Sie die Backtestzeit mit längeren Zeitrahmen.

Zusammenfassung

Diese Strategie zeigt den Preisänderungsanteil in Echtzeit mit Histogrammbalken an und verwendet Trendlinien für die Entscheidungsfindung, um klare Handelssignale zu bilden. Die Logik ist einfach für eine einfache Bedienung. Aber Risiken existieren und müssen über Optimierung, Filterung, Stop-Loss usw. kontrolliert werden.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v3.0 27/07/2018
//
//  This histogram displays price or % change from previous bar. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percent change bar chart Backtest", precision = 2)
input_barwidth = input(4, title="Bar Width")
input_percentorprice = input(false, title="Price Change")
input_barsback = input(1, title="Look Back")
SellZone = input(-0.33, minval=0.01, step = 0.01)
BuyZone = input(0.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(0, color=blue, linestyle=line)
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xPrice = close
xPrice1 = iff(input_percentorprice, xPrice - xPrice[input_barsback], ((xPrice - xPrice[input_barsback]) * 100)/ xPrice[input_barsback])
colorg = iff(xPrice1 < 0, red, green)
pos = iff(xPrice1 > BuyZone, 1,
       iff(xPrice1 < SellZone, -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(xPrice1, color=colorg, style = histogram, linewidth = input_barwidth, title="Change")

Mehr