
Die Strategie basiert auf dem Fisher-Conversion-Indikator, der von dem Meister der technischen Analyse John Ehlers entwickelt wurde, und ermöglicht die automatische Identifizierung von Preistrend-Umkehrpunkten, um automatische Geschäfte in langen und kurzen Positionen zu tätigen. Ihr größter Vorteil liegt in der Genauigkeit und Aktualität der Identifizierung von Preisumkehrungen.
Diese Strategie verwendet die Fischer-Konvertierungsformel zur Preisstandardisierung und erzeugt eine Preissequenz, die der Gauss-Verteilung annähernd entspricht. Die Fischer-Konvertierungsformel lautet: y = 0,5 * ln ((((1+x) / (((1-x))). Durch diese Konvertierungen können Preis-Extreme in relativ seltenere Ereignisse umgewandelt werden.
Die Strategie umfasst folgende Schritte:
Der größte Vorteil dieser Strategie liegt in der Genauigkeit und Aktualität ihrer Handelssignale. Da die Preisreihenfolge, die von der Fischer-Schnee-Umstellung erzeugt wird, der Gauss-Verteilung annähernd entspricht, kann der Fischer-Schnee-Umstellungskennzeichen bei einer Preisumkehr schnell erkennen und entsprechend reagieren. Dies gewährleistet die rechtzeitige Ergreifung von Umkehrmöglichkeiten.
Die größte Gefahr dieser Strategie besteht darin, dass die Preisreihenfolge nach der Fischer-Umstellung nicht unbedingt vollständig der rationalen Gauss-Verteilung entspricht. Wenn der Markt außergewöhnlich schwankt, wie bei Fissuren, Sprüngen usw., kann dies dazu führen, dass der Fischer-Umrechnungsindikator falsche Signale sendet.
Um dieses Risiko zu verringern, kann man in Kombination mit anderen Indikatoren die Filterung von Handelssignalen in Betracht ziehen, um zu vermeiden, dass bei Marktunregelmäßigkeiten gehandelt wird. Oder man kann die Parameter entsprechend anpassen, um die Handelsfrequenz und die Größe der Einzelschäden zu verringern.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Die Strategie basiert auf dem von Ehlers entwickelten Fischer-Konvertierungs-Indikator und ermöglicht die schnelle und genaue Identifizierung von Preiswendepunkten, um so rechtzeitig Handelschancen zu ergreifen. Ihr größter Vorteil liegt in der Genauigkeit und Pünktlichkeit der Handelssignale. Gleichzeitig besteht ein gewisser Risiko, bei dem die Parameter und Handelsregeln optimiert werden müssen, um das Risiko zu verringern.
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 15/12/2016
// Market prices do not have a Gaussian probability density function
// as many traders think. Their probability curve is not bell-shaped.
// But trader can create a nearly Gaussian PDF for prices by normalizing
// them or creating a normalized indicator such as the relative strength
// index and applying the Fisher transform. Such a transformed output
// creates the peak swings as relatively rare events.
// Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// The sharp turning points of these peak swings clearly and unambiguously
// identify price reversals in a timely manner.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 = iff(nValue1 > .99, .999,
iff(nValue1 < -.99, -.999, nValue1))
nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos = iff(nFish > nz(nFish[1]), 1,
iff(nFish < nz(nFish[1]), -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(nFish, color=green, title="Fisher")
plot(nz(nFish[1]), color=red, title="Trigger")