Торговые стратегии на основе цифровых фильтров - страница 71
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Полагаю, поскольку это фальшивая стратегия, то полагаю, что эта торговля не происходит сейчас, полагаю, что мы находимся в "Сумеречной зоне" .
Если вы используете SSA для этой стратегии, а я думаю, что это так, то, скорее всего, перерисован не только график цикла, но и сигнал на продажу. Не обязательно, но вероятность этого велика.
Так что SSA, возможно, сильный денуайзер и детрендер, но использование неказуальной версии в реальном времени ограничено, а улучшенные результаты - это комбинация влияния перекраски и денуайза/детренда.
Лично мне все равно, так как я использую казуальные версии SSA и HP фильтра.
Кшиштоф
вне образца
Здравствуйте, Ричкап,
Вы можете показать какие-либо правильные результаты вне выборки из вашей системы MESA?
С моей стороны я могу получить результаты от стратегий со следующими входными данными
циклы, измеренные способом Элерса
циклы, измеренные способом NOXA
циклы, измеренные Goertzel
SN, измеренный способом Элерса
SN измеренный CB способом с бинами сигналов
это основные компоненты, конечно, можно добавить к этому все, что угодно.
например, Jurik MA, VOL или RSX, которые у меня есть в оригинальных версиях.
Что касается проблемы перерисовки Goertzel, то он перерисовывается не только из-за SSA, но и из-за того, как он разработан, т.е. каждый новый бар он перерисовывает оригинальную кривую цикла, которая отличается каждый бар из-за новой информации о баре.
Я перепрограммировал его на полную версию без перерисовки, но еще не тестировал в реальном времени, поэтому не знаю, как он работает.
В автономном режиме все в порядке
Кшиштоф
Привет Richcap,
Итак, можете ли вы показать какие-либо правильные результаты вне выборки из вашей системы MESA?
С моей стороны я могу получить результаты от стратегий со следующими входными данными
циклы, измеренные способом Элерса
циклы, измеренные способом NOXA
циклы, измеренные Goertzel
SN, измеренный способом Элерса
SN измеренный CB способом с бинами сигналов
это основные компоненты, конечно, можно добавить к этому все что угодно
например, Jurik MA, VOL или RSX, которые у меня есть в оригинальных версиях.
Что касается проблемы перерисовки Goertzel, то он перерисовывается не только из-за SSA, но и из-за того, как он разработан, т.е. каждый новый бар он перерисовывает оригинальную кривую цикла, которая отличается каждый бар из-за новой информации о баре.
Я перепрограммировал его на полную версию без перерисовки, но еще не тестировал в реальном времени, поэтому не знаю, как он работает.
В автономном режиме все в порядке
КшиштофЧто означает ваше сообщение, Кшиштоф? Вы что-то продаете?
Я ждал чего-то ценного, но ничего не увидел.
Я не прошу вас делиться тоннами кода (как это сделал я), я только хотел бы, чтобы вы дали нам одну хорошую идею.
Вы действительно думаете, что вы заплатили свои взносы своим постом #582?
Что это за заявление 'PicBuf=i*MathPow(10,-1*digs);'?
Зачем вам нужно MathPow(10,-1*digs) PicBuf и что, черт возьми, такое PicBuf?
Если вы посмотрите на код, который я написал только для подсчета и маркировки пиков в рамках анализа MESA, вы сможете понять, почему я вами недоволен
* This function fills an array with 'amplitude' and 'frequency' (0 < f < Fn=0.5, Nyquist normalized freq) values
* of the peaks (and following valleys) under f_max and above f_min frequency by finding local maxima
* with a bisection equivalent algorithm.
* It returns the number of calculated peaks
*/
int peaksVector (
double& peaks[], // this vector must be dimensioned to 4*degree
double f_max, // the frequency under which to search peaks (f_max < Fn)
double f_min, // the frequency above which to search peaks (f_max > 0 )
double& aa[], // autoregression coefficients
int degree) // order of autoregression
{
double frequency, Qn, delta_f, delta_f2;
double s1, s2;
double f1, f2, fm, d1, d2, dm;
double tolerance=0.01; // zero (maximum) finding tolerance (we don't need a very high precision
double fine_stepping = 1.0 / 10.0; // 2nd level stepping for local minimum/maximum search
int count=0, i;
bool growing=true;
// check for Nyquist
if (f_max > 0.5) f_max=0.5;
// First evaluate Qn to set proper resolution delta_f... (see (II-70) formula in Burg's PhD thesis)
/*
Qn=1.0;
for (i=0; i<degree; i++)
{
Qn=Qn*(1.0+MathAbs(aa))/(1.0-MathAbs(aa));
}*/
Qn=50; // above formula gives too high Qn, to be verified
delta_f=1.0/(degree*Qn);
// ...then starts to find peaks (and valleys)
s1=spectrumValue(f_min+delta_f,aa,degree);
peaks[0]= s1; // include first point ...
peaks[1]= f_min+delta_f; // ... and frequency
i=2;
d1=spectrumValue(f_min+delta_f*(1.0+fine_stepping),aa,degree) - s1 ;
if (d1 < 0)
growing=false; // set initial slope direcion
for (frequency=f_min+2*delta_f; frequency = f_max && !growing); frequency+=delta_f)
{
s2=spectrumValue (frequency,aa,degree);
if (s2>s1 && growing)
{
s1=s2; // updates new maximum
}
else if (s2<=s1 && growing) // found an interval in which there is a local maximum??
{
// search for a local maximum in the interval [ frequency-delta_f,frequency + delta_f ]
f1=frequency-2.0*delta_f;
f2=frequency;
delta_f2=delta_f*fine_stepping; // delta_f2 (adaptive) is used to evaluate funcion's slope
d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);
d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);
while (true)
{
// try to find maximum value by evaluating central point's slope
fm = (f1+f2)/2.0;
dm=spectrumValue(fm+delta_f2,aa,degree) - spectrumValue(fm,aa,degree);
if ( MathAbs(dm) < tolerance)
break;
if (dm < 0.0) f2=fm;
else f1=fm;
delta_f2=(f2-f1)*fine_stepping; // adapt delta_f2
d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);
d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);
}
peaks= spectrumValue (fm,aa,degree);
peaks=fm;
i+=2;
count++; // increments number of peaks
growing=false; // after a peak there must be a valley, so the funcion starts to decrease
}
else if (s2<s1 && !growing)
{
s1=s2; // updates new minimum
}
else if (s2>=s1 && !growing) // found an interval in which there is a local minimum??
{
// search for a local maximum in the interval [ frequency-delta_f,frequency + delta_f ]
f1=frequency-2.0*delta_f;
f2=frequency;
delta_f2=delta_f*fine_stepping; // delta_f2 (adaptive) is used to evaluate funcion's slope
d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);
d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);
while (true)
{
// try to find maximum value by evaluating central point's slope
fm = (f1+f2)/2.0;
dm=spectrumValue(fm+delta_f2,aa,degree) - spectrumValue(fm,aa,degree);
if ( MathAbs(dm) < tolerance)
break;
if (dm > 0.0) f2=fm;
else f1=fm;
delta_f2=(f2-f1)*fine_stepping; // adapt delta_f2
d1=spectrumValue(f1+delta_f2,aa,degree) - spectrumValue(f1,aa,degree);
d2=spectrumValue(f2+delta_f2,aa,degree) - spectrumValue(f2,aa,degree);
}
peaks= spectrumValue (fm,aa,degree);
peaks=fm;
i+=2;
growing=true;
}
}
return(count);
}???
Странный ответ. Честно говоря, я вообще не смотрел на ваш код, так как я использую только NS.
Я также не профессиональный C++/MQL кодер, много лет я работал с тестированием программного обеспечения, так что я думаю, что я довольно легко улавливаю ошибки. Я уже говорил вам, что вы программист от Бога, так как у вас хватило терпения все это разработать.
В любом случае, я просто предлагаю вам обмен информацией на уровне результатов стратегии с четко определенными входными данными, это было намерением этого письма. Если вы заинтересованы, дайте мне знать.
Кшиштоф
хорошая идея
Я думаю, это просто хорошая идея - создать разные стратегии с разными входами, возможно, использовать генетический оптимизатор для выбора правильной комбинации входов и сравнить результаты.
Кшиштоф
чем я смотрел на ваш код. Очевидно, что ваш метод поиска важных пиков гораздо более продвинутый, чем в Goertzel.
// находим важные пики, измеряя высоту и остроту каждого пика и получая число "важности"
// для измерения остроты мы рассматриваем линейные линии между пиками и долинами и измеряем углы
// чем меньше угол, тем острее пик. Важность каждого пика определяется высотой/углом.
В Goertzel пики находят и сортируют без дополнительного тестирования, после чего заданное пользователем количество пиков используется для обратного преобразования.
Поэтому разрешение вашего MESA должно быть намного лучше, чем у Goertzel. Мне просто интересно, будут ли результаты простой циклической стратегии, основанной на циклах MESA, лучше. К сожалению, в данный момент нет возможности сравнить их из-за проблемы с перерисовкой.
Но при желании можно сравнить с циклами Элерса на основе откликов банковского фильтра.
Кшиштоф
фальшивая торговая стратегия?
Не нужно никого ни в чем убеждать, просто я сам!!!!!!!!
привет, ребята,
Я вижу, что тема умерла, но может быть я найду кого-нибудь, кто мне поможет...
У меня есть goertzel_cycle_v1_1 и я застрял на этом:
1. я создал индикатор синусоиды, чтобы посмотреть, как работает goertzel. код:
------------------------------------
int start()
{
int counted_bars=IndicatorCounted();
int i=Bars-counted_bars-1;
//----
while (i>=0)
{
indybuffer= MathSin(2*PI*i/20);
i--;
}
//----
return(0);
-------------------------------
2. я заменил в коде гертцеля "close" на индикатор "sinewave".
3. результат: чистый цикл из 20 баров -ок. но амплитуда 149.98, когда индикатор синуса находится между -1 и 1, как и ожидалось.
squareamp - "false", я перепробовал все, но понятия не имею, что не так.
любая помощь будет очень признательна
Индикатор FTLM_KG и STLM
Richcap,
Во-первых, я хотел бы поблагодарить вас за то, что вы поделились тем, что создали. Я не понимал, что именно вы разместили, пока не начал этот комментарий. Именно этот вид исследований и разработок заставил эту тему пылать огнем прогресса, сжигая все отбросы, которые являются ежедневной мирской болтовней на этом и большинстве других форумов. Это действительно очень мощно. Те, кто следил за этой темой, могли бы с удвоенной силой оценить то, что вы принесли на лабораторный стол.
Я не думаю, что Кшиштоф пытался быть злым в своем ответе. После того, как я прочитал его несколько раз, кажется, что пара слов и структур предложений просто создали такое впечатление. Пожалуйста, поправьте меня, если я ошибаюсь, Кшиштоф.
Я ни в коем случае не являюсь авторитетом в области DSP. Я часто посещаю эту тему, как ученик, больше, чем любую другую. Тем не менее, я узнал несколько вещей, которые, как мне кажется, могут быть полезны для вас в ваших поисках. Возможно, вы уже знаете все, чем я с вами делюсь, и если это действительно так, пожалуйста, не воспринимайте это как покровительство.
1. MESA был определен как один из менее идеальных методов спектрального анализа из-за его неспособности идентифицировать частоты в сценариях данных с уровнем шума выше среднего (а именно такими являются ценовые данные с финансовых рынков). Алгоритм Гертцеля, с другой стороны, может быть лучшим выбором. Пожалуйста, обратитесь к "странице газеты" Meyer's Analytics, статья под названием "Mesa против GDF".
2. Дальнейшее обсуждение вышеупомянутой темы (включая индикаторы) ведется в этой теме, начиная с сообщения 225.
3. Сергей Ильюхин, создатель программного обеспечения DFG, создал нечто очень похожее на индикатор, который вы разместили (что, я думаю, означает, что вы на правильном пути ), в комплекте с библиотекой и всем остальным, размещенным здесь NewDigital. Я использовал его в прошлом. Очень хорошо, ИМХО. Может быть, стоит посмотреть.
4. Кшиштоф был точен в своей оценке нити CB. Я знаю пару людей, которые сотрудничали с CB, и они подтвердили, что он делится только фотографиями и теориями, ничего конкретного. Тем не менее, те, кто в этой теме, как вы, clahn04, Simba, dvarrin и fajst_k, являются общительным типом и готовы открыто обмениваться мыслями и полученными продуктами. Пожалуйста, не позволяйте этому потоку прогресса остановиться, иначе в этой теме наступит очередное затишье в движении вперед.
У меня есть установка, которую я использую, и она имеет только 2 индикатора: неоптимизированный FTLM_KG и STLM в виде гистограммы, оба сглажены через ценовой прокси Jurik, чтобы удалить некоторые из шумов, присутствующих в результате того, что эти два индикатора не настроены на пару и t.f. Ничего удивительного и в зависимости от настроек могут отставать на бар время от времени, но достаточно эффективны, пока я не смогу переварить больше информации и вывести что-то лучшее т.е. легко настраиваемые индикаторы FTLM и STLM. Скриншот прилагается.
С наилучшими пожеланиями,
F_F_LЗдравствуйте, forex_for_life,
спасибо за вашу информацию. Ваши оба Инди со страницы 49 этой темы FLM_KG и STLM выглядят очень красиво. Не могли бы вы выложить эти два индикатора? Это именно то, что я ищу. Заранее спасибо и привет из Мюнхена.
Джим Кларк
По моему опыту, одним из лучших не пользовательских индикаторов для определения тренда является STLM2. Вы можете проверить тренд на h4 и h1, или D1 и H4, и когда оба совпадают, посмотреть на более коротких таймфреймах, чтобы спровоцировать вход с тем, что вам подходит.
Я опубликовал mtf stlm2 в теме mtf, перепощу здесь, чтобы вы могли проверить его, просто заменив STLM2 на FTLM или FTLM_KG, вы получите возможность работы на нескольких таймфреймах для этих фильтров. Кроме того, мы можем просто изменить Ea, чтобы иметь возможность тестировать большинство стратегий, включая mtf stlm2.
Я бы предложил создать меню стратегий, а затем приступить к их историческому тестированию с помощью стандартных цифровых фильтров, а затем протестировать их, по крайней мере, наиболее перспективные, на демо с помощью пользовательских цифровых фильтров... Есть желающие?Я скачал индикатор #MFT_STLM2_v2, выложенный великим Simba, но он не работает у меня на моей платформе.
Эта версия просрочена или что?
Я ищу STLM MTF для определения тренда.
Заранее спасибо друзья.
Пожалуйста.