Торговая стратегия Элерса, основанная на трансформации Фишера


Дата создания: 2024-01-08 16:51:10 Последнее изменение: 2024-01-08 16:51:10
Копировать: 1 Количество просмотров: 1062
1
Подписаться
1664
Подписчики

Торговая стратегия Элерса, основанная на трансформации Фишера

Обзор

Эта стратегия, основанная на индикаторе преобразования Фишера, разработанном мастером технического анализа Джоном Эхлером, позволяет автоматически идентифицировать точки обратного тренда цены и совершать автоматические сделки на короткие и длинные позиции. Ее наибольшим преимуществом является точность и своевременность идентификации ценовых поворотов.

Стратегический принцип

Эта стратегия использует формулу преобразования Фише для стандартизации цены и создания ценовой последовательности с приближенным распределением Гауса. Формула преобразования Фише: y = 0,5 * ln (((1+x) / ((1-x))). С помощью этого преобразования можно преобразовать крайние значения цены в относительно более редкие события.

В частности, этапы стратегии следующие:

  1. Вычислите среднюю цену HL2;
  2. вычислить максимальную цену xMaxH и минимальную цену xMinL за период Length;
  3. Вычислите стандартизированную цену nValue1=(xHL2 - xMinL) / (xMaxH - xMinL) - 0.5;
  4. nValue1 выполняется плавным способом, получая nValue2, предотвращая крайнюю величину;
  5. Применим формулу преобразования Фише к nValue2 и получим показатель преобразования Фише nFish;
  6. Сравнение nFish с предыдущим периодом, чтобы определить, произошел ли поворот, и установить направление торговли;
  7. В зависимости от направления, в котором расположены свободные позиции, высылаются торговые сигналы.

Анализ преимуществ

Самым большим преимуществом этой стратегии является точность и своевременность ее торговых сигналов. Поскольку ценовая последовательность, создаваемая преобразованием Фишера, приблизительно соответствует распределению Гаусса, в случае возникновения ценового переворота, индикатор преобразования Фишера может быстро распознать и реагировать соответствующим образом. Это гарантирует своевременное использование возможности для переворота. Кроме того, сам индикатор преобразования Фишера Ehlers также проверен на протяжении длительного времени, и точность обратного сигнала также очень надежна.

Анализ рисков

Наибольший риск этой стратегии заключается в том, что ценовая последовательность после преобразования в Фише не всегда полностью соответствует распределению Гасса в теории рациональности. В случае аномальных колебаний на рынке, таких как трещины, скачки и т. Д., это может привести к тому, что индикатор преобразования в Фише пошлет ошибочный сигнал. В это время, если все еще будет торговаться механически, это может привести к большим убыткам.

Чтобы снизить этот риск, можно рассмотреть возможность фильтрации торговых сигналов в сочетании с другими показателями, чтобы избежать торговли во время аномалий на рынке. Или можно соответствующим образом скорректировать параметры, уменьшить частоту торгов и размер одиночных убытков.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация параметров Length, чтобы найти оптимальную комбинацию параметров в разных рыночных условиях;
  2. Увеличение механизмов сдерживания убытков и ограничение индивидуальных убытков;
  3. Увеличение фильтрации сделок, чтобы избежать ошибочных сделок на аномальных рынках;
  4. В сочетании с другими показателями используются комбинированные стратегии для повышения точности сигналов.

Подвести итог

Эта стратегия, основанная на Фишеровском конверсионном индикаторе, разработанном Ehlers, позволяет быстро и точно идентифицировать точку переворота цены, чтобы вовремя использовать торговые возможности. Ее наибольшим преимуществом является точность и своевременность торговых сигналов.

Исходный код стратегии
/*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")