Все показатели Джона Элерса... - страница 59

 

Что касается преобразования Фишера, то оценка здесь. Это просто компрессор/декомпрессор диапазона и не дает никакой дополнительной ценности

согласно этой статье. С другой стороны, есть люди, которые пытаются заработать на продаже "модифицированного Фишера" .....

Ensign Software - Исследования: Обратное преобразование Фишера

Кшиштоф

 

в случае сглаживания Close также нет разницы. Вы можете утверждать, что для некоторых временных рядов SMA будет работать лучше, чем SMA, но я считаю, что это нужно сначала доказать.

Итак, новая книга, новые теории, новый сайт, и, по крайней мере, для меня он выглядит немного скучновато.

Кшиштоф

Файлы:
3.jpg  332 kb
4.jpg  286 kb
 

Большое спасибо за эти ответы. Я как раз просматриваю последнюю книгу г-на Элера. В конце книги он утверждает, что "обратное преобразование Фишера адаптивного стохастического индикатора дает четкие и недвусмысленные указания на правильные точки покупки и продажи".

Код также приводится (в формате простого кода):

Шаг 1. Код адаптивного стохастического индикатора:

{

Адаптивный стохастический

(c) 2013 John F. Ehlers

}

Vars:

AvgLength(3),

M(0),

N(0),

X(0),

Y(0),

alpha1(0),

HP(0),

a1(0),

b1(0),

c1(0),

c2(0),

c3(0),

Filt(0),

Lag(0),

count(0),

Sx(0),

Sy(0),

Sxx(0),

Syy(0),

Sxy(0),

Период(0),

Sp(0),

Spx(0),

MaxPwr(0),

DominantCycle(0);

Массивы:

Corr[48](0),

CosinePart[48](0),

SinePart[48](0),

SqSum[48](0),

R[48, 2](0),

Pwr[48](0);

//Высокочастотный фильтр циклических компонентов, периоды которых короче 48 тактов

alpha1 = (Cosine(.707*360 / 48) + Sine (.707*360 / 48) - 1) / Cosine(.707*360 / 48);

HP = (1 - alpha1 / 2)*(1 - alpha1 / 2)*(Close - 2*Close[1] + Close[2]) + 2*(1 - alpha1)*HP[1] - (1 - alpha1)*(1 - alpha1)*HP[2];

//Сглаживание с помощью фильтра Super Smoother Filter из уравнения 3-3

a1 = expvalue(-1.414*3.14159 / 10);

b1 = 2*a1*Косинус(1.414*180 / 10);

c2 = b1;

c3 = -a1*a1;

c1 = 1 - c2 - c3;

Filt = c1*(HP + HP[1]) / 2 + c2*Filt[1] + c3*Filt[2];

//Корреляция Пирсона для каждого значения лага

For Lag = 0 to 48 Begin

//Установите длину усреднения как M

M = AvgLength;

If AvgLength = 0 Then M = Lag;

Sx = 0;

Sy = 0;

Sxx = 0;

Syy = 0;

Sxy = 0;

For count = 0 to M - 1 Begin

X = Filt[count];

Y = Filt[Lag + count];

Sx = Sx + X;

Sy = Sy + Y;

Sxx = Sxx + X*X;

Sxy = Sxy + X*Y;

Syy = Syy + Y*Y;

End;

Если (M*Sxx - Sx*Sx)*(M*Syy - Sy*Sy) > 0 Тогда Corr[Lag] = (M*Sxy - Sx*Sy)/SquareRoot((M*Sxx - Sx*Sx)*(M*Syy - Sy*Sy));

End;

For Period = 10 to 48 Begin

CosinePart[Period] = 0;

SinePart[Period] = 0;

Для N = от 3 до 48 Начало

CosinePart[Period] = CosinePart[Period] + Corr[N]*Cosine(360*N / Period);

SinePart[Period] = SinePart[Period] + Corr[N]*Sine(360*N / Period);

End;

SqSum[Period] = CosinePart[Period]*CosinePart[Period] + SinePart[Period]*SinePart[Period];

End;

For Period = 10 to 48 Begin

R[Period, 2] = R[Period, 1];

R[Period, 1] = .2*SqSum[Period]*SqSum[Period] + .8*R[Period, 2];

End;

//Найти максимальный уровень мощности для нормализации

MaxPwr = .995*MaxPwr;

For Period = 10 to 48 Begin

If R[Period, 1] > MaxPwr Then MaxPwr = R[Period, 1];

End;

For Period = 3 to 48 Begin

Pwr[Period] = R[Period, 1] / MaxPwr;

End;

//Вычислите доминирующий цикл, используя КУ спектра

Spx = 0;

Sp = 0;

For Period = 10 to 48 Begin

If Pwr[Period] >= .5 Then Begin

Spx = Spx + Period*Pwr[Period];

Sp = Sp + Pwr[Period];

End;

End;

Если Sp 0 Тогда DominantCycle = Spx / Sp;

Если DominantCycle < 10 Тогда DominantCycle = 10;

If DominantCycle > 48 Then DominantCycle = 48;

//Стохастические вычисления начинаются здесь

переменные:

HighestC(0),

LowestC(0),

Stoc(0),

SmoothNum(0),

SmoothDenom(0),

AdaptiveStochastic(0);

HighestC = Filt;

LowestC = Filt;

For count = 0 to DominantCycle - 1 Begin

Если Filt[count] > HighestC, то HighestC = Filt[count];

If Filt[count] < LowestC then LowestC = Filt[count];

End;

Stoc = (Filt - LowestC) / (HighestC - LowestC);

AdaptiveStochastic = c1*(Stoc + Stoc[1]) / 2 + c2*AdaptiveStochastic[1] + c3*AdaptiveStochastic[2];

Plot1(AdaptiveStochastic);

Plot2(.7);

Plot6(.3);

Шаг 2 для реализации обратного преобразования Фишера на адаптивном стохастическом индикаторе:

Vars:

IFish(0) ;

Value1 = 2*(AdaptiveStochastic - .5) ;

IFish = (ExpValue(2*3*Value1) - 1) / (ExpValue(2*3*Value1) + 1) ;

Plot1(IFish) ;

Plot4(.9*IFish[1]) ;

Шаг 3 Добавление сигналов на покупку-продажу:

Добавляется триггерная линия, которая является преобразованием Фишера, отложенным на один бар и ослабленным до 90 процентов.

Шаг 4 Разработка, добавленная мной:

Если возможно, должен быть разработан вариант вышеуказанного индикатора (Инверсный адаптивный стохастический индикатор Фишера), который является MTF, так что версии для более высоких таймфреймов также могут быть отображены.

Я думаю, что эти 2 индикатора - адаптивный стохастический индикатор Inverse Fisher и адаптивный стохастический индикатор MTF Inverse Fisher - были бы потенциально очень интересными индикаторами для тестирования, если бы кто-нибудь смог создать их в MT4?

С наилучшими пожеланиями

Найджел

 

Нет необходимости конвертировать в MT4, просто используйте tradestation или Multicharts и сделайте анализ Walk Forward, чтобы проверить, работает ли он, код у вас готов. Вы можете взять пробную версию Multicharts, в ней есть встроенный анализатор Walk Forward. Я также недавно проверил кровельный фильтр, и у него огромный проскок после изменения направления тренда, что является дисквалифицирующим фактором.

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

Кшиштоф

 
Nigel99:
Младен,

Спасибо за ваш ответ.

Если я не ошибаюсь, примерно на 27 минуте (из ранее прикрепленного видео) г-н Элер вводит "стохастик, которому предшествует кровельный фильтр", говоря, что "...я помещаю кровельный фильтр перед стохастиком...". Насколько я понимаю, это позволяет достичь нулевого среднего значения, а также устраняет спектральное расширение (т.е. то, что заставляет нормальный стохастик бежать вверх и вниз от верхней и нижней части окна индикатора). Я поймал более ранний кровельный фильтр на этом сайте, спасибо за ссылку.

Так что мне все еще кажется, что если поместить кровельный фильтр перед обратным преобразованием Фишера и отобразить в виде гистограммы, то это приблизит индикатор MESA momentum propriety.

Есть ли возможность, что у вас есть идея, как либо:

1. Кровельный фильтр перед стохастиком, или

2. Кровельный фильтр перед обратным преобразованием Фишера в histo форме, могут быть получены?

Я думаю, что они могут быть ценными.

С наилучшими пожеланиями

Найджел

Привет Найджел,

mladen закодировал "SuperSmoother" как функцию. Вы можете использовать ее для предварительного сглаживания временного ряда, и, на мой взгляд, она хорошо работает для этого. Я приложил индикатор, написанный mladen, где я добавил предварительное сглаживание в качестве примера. Это может быть близко к тому, что вы ищете. Если нет, вы можете модифицировать большинство индикаторов таким образом.

Индикатор называется "Phase Change Index", автор M.H. Pee. Здесь представлен дневной GPBUSD, настроенный на 16 периодов с предварительным сглаживанием на 5 периодов.

Индикатор чувствителен к длине периода. Его лучше использовать, если вы имеете представление о том, какой должна быть длина периода.

Edit: Я удалил индикатор, так как не могу вспомнить, был ли он первоначально взят из раздела Elite. Это возможно. Если mladen не против, я опубликую его снова.

С уважением,

Алекс

Файлы:
gbpusddaily.png  35 kb
 

Это осциллятор mama с сигнальной пунктирной линией t3 индикатор также совместим с новыми сборками mt4.

 
fajst_k:
В случае сглаживания Close также нет разницы. Вы можете утверждать, что для некоторых временных рядов будет работать лучше, чем SMA, но я считаю, что это должно быть сначала доказано.

Итак, новая книга, новые теории, новый сайт, и, по крайней мере для меня, он выглядит немного скамеечным.

Кшиштоф

Кшиштоф

Почему вы сравниваете короткие расчетные периоды?

Чем короче расчетный период, тем более похожими будут результаты (заканчивая расчетным периодом 1, когда все усреднения / сглаживания / фильтры будут абсолютно одинаковыми). Почему не сравнивать более длинные периоды и одинаковые периоды?

Даже адаптивные средние / сглаживатели / фильтры не могут правильно адаптироваться для очень коротких периодов, и даже они будут давать результаты, очень похожие на простое скользящее среднее, если период расчета достаточно короткий

 

Согласно Джону Э., цель SS - подавить высокочастотный шум, т.е. периоды =< 10 баров. Я сравниваю с SMA(5), потому что SMA(5) имеет такой же лаг, как SS(10), и его полоса пропускания равна 2*n. Тогда вы можете проверить, какой из них сглаживает лучше, а они сглаживают одинаково. Достаточно построить оба графика, и вы увидите, что график одинаковый.

Это означает, что по крайней мере для USDJPY 1 мин высокочастотный шум (если он существует) сглаживается на одном уровне SMA(l/2) и SS(l). Для других длин

он использует фильтр HP. См. также главу " Структура рыночных данных" в его работе "Прогнозирующие индикаторы" и рисунок с алиасинговым шумом и шумом расширения спектра. Мне просто очень интересно, как он это получил и как это выглядит, например, для данных FOREX.

Кшиштоф

 
fajst_k:
Согласно Джону Э., цель SS - подавить высокочастотный шум, т.е. периоды =< 10 баров. Я сравниваю с SMA(5), потому что SMA(5) имеет такой же лаг, как и SS(10), и его полоса пропускания равна 2*n. Тогда вы можете проверить, какой из них сглаживает лучше, а они сглаживают одинаково. Достаточно построить оба графика, и вы увидите, что график одинаковый.

Это означает, что по крайней мере для USDJPY 1 мин высокочастотный шум (если он существует) сглаживается на одном уровне SMA(l/2) и SS(l). Для других длин

он использует фильтр HP. См. также главу "Структура рыночных данных" в его работе "Прогнозирующие индикаторы" и рисунок с алиасинговым шумом и шумом расширения спектра. Мне просто очень интересно, как он это получил и как это выглядит, например, для данных FOREX.

Кшиштоф

Кшиштоф

Сравнение сглаживателей / фильтров / усреднителей разной длины - это (по крайней мере, на мой взгляд) нечестное сравнение. Но это мое мнение. Мы могли бы просто решить использовать один фильтр и использовать его для всего, что мы делаем, снова и снова, но как мы должны решить, что использовать для этой цели, и как мы должны решить, что что-то является лучшим, если мы не будем экспериментировать, исследовать и пробовать разные подходы?

Я и сам много раз говорил, что Джон Элерс склонен сначала рассказывать, а потом пытаться представить доказательства того, что он рассказал, а не того, что мы можем увидеть невооруженным глазом. Но он, по крайней мере, экспериментирует. Хорошо это или нет, не имеет большого значения: у него просто есть мужество заявить и сделать что-то и получить за это порку (если он заслуживает порки), так что мы должны отдать ему должное за попытку расширить границы.

Я никогда не понимал попыток использования фильтров из 2-3 баров в попытке обнаружить тренд (что бы мы ни считали "трендом"). Но опять же, это только мое мнение.

 
hughesfleming:

Привет, Найджел,

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

Индикатор называется "Phase Change Index", автор M.H. Pee. Здесь представлен дневной GPBUSD, настроенный на 16 периодов с предварительным сглаживанием на 5 периодов.

Индикатор чувствителен к длине периода. Его лучше всего использовать, если вы имеете представление о том, какой должна быть длина периода.

Edit: Я удалил индикатор, так как не могу вспомнить, был ли он первоначально взят из раздела Elite. Это возможно. Если mladen не против, я опубликую его снова.

С уважением,

Алекс

Алекс,

Большое спасибо за вашу помощь.

С уважением,

Найджел