
Поляризованная фрактальная эффективность (PFE) - торговая стратегия, которая измеряет эффективность движения цены с помощью применения концепций фрактальной геометрии и теории хаоса. Движение цены является транслинейным и эффективным. Чем меньше расстояние между двумя точками, тем эффективнее движение цены.
Центральным показателем торговой стратегии PFE является эффективность поляризованной деформации (PFE). Этот показатель рассчитывается по следующей формуле:
PFE = sqrt(pow(close - close[Length], 2) + 100)
В частности, Length является периодом окна обратной связи, и этот параметр устанавливается с помощью ввода. PFE фактически измеряет длину колеи движения цены в течение периода Length, которая использует эуклидные расстояния (прямые расстояния) для приблизительного измерения.
Чтобы оценить эффективность движения цены, нам нужен критерий для сравнения. Этот критерий - длина пути, по которому цены соединяются в реальном порядке в течение периода Length, называемый C2C ((Close to Close), и рассчитывается следующим образом:
C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
Таким образом, мы можем вычислить эффективность преобразования движения цены xFracEff:
xFracEff = iff(close - close[Length] > 0, round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
Если цена повышается, то оценка положительная, а если падает, то отрицательная. Чем больше абсолютная величина, тем менее эффективно движение.
Для создания торгового сигнала мы вычисляем xEMA, то есть индексную скользящую среднюю xFracEff. и устанавливаем каналы покупки и продажи:
xEMA = ema(xFracEff, LengthEMA)
BuyBand = input(50)
SellBand = input(-50)
При прохождении BuyBand generate на xEMA генерируется сигнал покупки; при прохождении SellBand generate на xEMA генерируется сигнал продажи.
Торговая стратегия PFE имеет следующие преимущества:
Также существуют риски, связанные со стратегией торговли PFE:
Стратегия торговли PFE может быть оптимизирована в следующих аспектах:
Торговая стратегия PFE основана на геометрии разделения и теории хаоса и предлагает новый способ измерения эффективности движения цен. По сравнению с обычными техническими показателями, этот метод имеет свои уникальные преимущества, но также сталкивается с определенной степенью задержки, оптимизации параметров и качеством сигналов. Благодаря постоянному тестированию и оптимизации стратегия PFE может стать надежным количественным выбором торговой стратегии.
/*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")