
Polarized Fractal Efficiency (PFE) ist eine Handelsstrategie, die die Effizienz von Preisbewegungen anhand von Konzepten der Spaltgeometrie und der Chaos-Theorie misst. Die Preisbewegung ist überlinear und effizient. Je kürzer die Entfernung zwischen zwei Punkten, desto effizienter ist die Preisbewegung.
Der Kern der PFE-Handelsstrategie ist die Polarisierungs-Fragmentierungs-Effizienz (PFE). Dieser Indikator basiert auf der folgenden Formel:
PFE = sqrt(pow(close - close[Length], 2) + 100)
PFE ist eigentlich eine Messung für die Bewegung des Preises innerhalb eines Zeitraums von Length, die mit dem Euclidean-Distanz (Linien-Distanz) approximativ gemessen wird.
Um die Effizienz der Preisbewegung zu beurteilen, benötigen wir eine Benchmark zum Vergleich. Diese Benchmark ist die Länge des Weges, den die Preise in der tatsächlichen Reihenfolge innerhalb der Zeit von Length zurückgelegt haben, die als C2C (Close to Close) bezeichnet wird. Die Berechnungsformel lautet:
C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
Auf diese Weise können wir die Fractional Efficiency der Preisbewegung xFracEff berechnen:
xFracEff = iff(close - close[Length] > 0, round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
Wenn der Preis steigt, ist der Wert positiv, wenn er sinkt, ist er negativ. Je größer der absolute Wert ist, desto weniger effizient ist die Bewegung.
Um ein Handelssignal zu erzeugen, berechnen wir xEMA, also den Index-Moving-Average von xFracEff. und setzen die Kauf- und Verkaufskanale:
xEMA = ema(xFracEff, LengthEMA)
BuyBand = input(50)
SellBand = input(-50)
Bei der Übertragung von BuyBand auf xEMA wird ein Kaufsignal erzeugt; bei der Übertragung von SellBand auf xEMA wird ein Verkaufssignal erzeugt.
Die PFE-Handelsstrategie hat folgende Vorteile:
Die PFE-Handelsstrategie birgt auch folgende Risiken:
PFE-Handelsstrategien können in folgenden Bereichen optimiert werden:
Die PFE-Handelsstrategie basiert auf Spaltgeometrie und der Chaos-Theorie und bietet eine neuartige Methode zur Messung der Effizienz von Preisbewegungen. Diese Methode hat ihre eigenen Vorteile gegenüber herkömmlichen technischen Indikatoren, ist aber auch mit einem gewissen Zeitverzug, Parameteroptimierung und Problemen in Bezug auf die Signalqualität konfrontiert. Durch kontinuierliche Tests und Optimierungen ist die PFE-Strategie in der Lage, eine zuverlässige quantitative Handelsstrategie zu werden.
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 29/09/2017
// The Polarized Fractal Efficiency (PFE) indicator measures the efficiency
// of price movements by drawing on concepts from fractal geometry and chaos
// theory. The more linear and efficient the price movement, the shorter the
// distance the prices must travel between two points and thus the more efficient
// the price movement.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="PFE (Polarized Fractal Efficiency)", shorttitle="PFE (Polarized Fractal Efficiency)")
Length = input(9, minval=1)
LengthEMA = input(5, minval=1)
BuyBand = input(50, step = 0.1)
SellBand = input(-50, step = 0.1)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line, title = "TopBand")
hline(SellBand, color=red, linestyle=line, title = "LowBand")
PFE = sqrt(pow(close - close[Length], 2) + 100)
C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
xFracEff = iff(close - close[Length] > 0, round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
xEMA = ema(xFracEff, LengthEMA)
pos = iff(xEMA < SellBand, -1,
iff(xEMA > 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(xEMA, color=blue, title="PFE")