
Стратегия фишерского преобразования использует формулу фишерского преобразования для обработки цены и удаления негаусовского распределения цены, чтобы получить стандартизированный индикатор, похожий на гаусовское распределение. Стратегия, основанная на поворотах в кривой фишерского преобразования, определяет ценовое преобразование и генерирует сигналы покупки и продажи.
В основе этой стратегии лежит применение преобразовательной формулы Фишера для обработки цены, устраняя негаустерские признаки естественного распределения цены.
y = 0.5 * ln((1+x)/(1-x))
Здесь x - обработанная цена, найденная с помощью функций highestest и lowest наивысшая и наименьшая цены за последние периоды Length, затем стандартизированная, формула следующая:
x = (price - минимальная цена) / ((максимальная цена - минимальная цена) - 0,5
После такой обработки цена приблизительно соответствует распределению Гаусса. Затем ее вкладывают в формулу преобразования Фишера, получая кривую преобразования Фишера. Поворотная точка кривой преобразования Фишера является сигналом об обратном направлении цены.
Когда фишерская преобразовательная кривая переходит от положительного к отрицательному, она создает сигнал продажи; когда переходит от отрицательного к положительному, она создает сигнал покупки.
Переходный индикатор Фишера устраняет негаусовские характеристики цены, делая цены более нормативными и уменьшая ложные сигналы
Поймать ценовые переломы и избежать дрейфов
Гибкость параметров, регулируемая чувствительность к обратной связи
Настраиваемое направление, адаптируемое к различным рыночным условиям
Логика стратегии проста, понятна и легко реализуема.
Неправильная параметровая настройка может пропустить точку обратного отсчета или создать ложный сигнал
Фиксированные диски подвержены влиянию скольжения и могут не выполнять сигналы идеально.
Когда цены сильно колеблются, кривая Фишера не может определить обратную точку.
Необходимо подтвердить обратный ход и войти в игру.
Решение проблемы:
Оптимизация параметров
Надлежащее смягчение условий въезда, чтобы гарантировать выполнение сигналов
Фильтрация ложных сигналов в сочетании с другими показателями
Строго соблюдайте правила стратегии и контролируйте риски
Оптимизируйте размер параметров Length, чтобы найти оптимальную комбинацию параметров
Добавление условий фильтрации для предотвращения ложных сигналов, таких как сочетание средних линий, показателей колебаний и т. д.
Увеличение механизмов сдерживания убытков и борьба с единичными потерями
Присоединяйтесь к механизму реадмиссии и следите за тенденциями
Стратегия обратного отсчета индикатора преобразования Фишера - это легко реализуемая стратегия стоимости, которая определяет точку обратного отсчета цены путем удаления негаустерских признаков цены. Преимущества этой стратегии заключаются в том, что параметры могут быть изменены гибко, и обратный отсчет может быть легко пойман.
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v2.0 22/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.
//
// For signal used zero.
// 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")
hline(0, color=blue)
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 > 0, 1,
iff(nFish < 0, -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")