Реальный опыт добавит, он есть. Я писал выше, что есть фильтр который отсеет многие ложные пробои. Но это не то, это исследование ТС, а не силы (статистической значимости) круглого уровня. Любое внесение чего то дополнительного в алгоритм сбора статистики, уводит нас в сторону. Тот же зигзаг, у зигзага есть параметры и точки перелома зависят от этих параметров. Мы пытаемся исследовать уровень, его и исследуем.
Если хотим исследовать статистику, как часто зигзаг будет ломаться рядом с целым уровнем это будут уже другие исследования, другие критерии…
З.Ы. я вообще считаю, что зигзаг и эта «пресловутая» фрактальность рынка вообще тут не причем, мы не это исследуем…
Но это не то, это исследование ТС, а не силы (статистической значимости) круглого уровня. Любое внесение чего то дополнительного в алгоритм сбора статистики, уводит нас в сторону.
Силы уровня мало. Силу уровня я бы определил просто через число пересечений его ценой, у сильного уровня цена должна непременно потоптаться. Мне казалось ты с самого начала говорил о вероятности разворота.
P.S. Для круглых уровней фрактальность ни при чём, а если речь зайдёт о других, то вполне может оказаться и "при чём".
Испытал NormalizeDouble. Результаты не совсем однозначные. Она оказалась несколько медленнее, чем вариант в два действия через целую переменную. Но не настолько, насколько я ожидал. То есть её в принципе можно использовать и в претендующих на скорость алгоритмах.
Но не для вычисления "круглых" уровней, потому что она не просто обрезает лишние цифры, а округляет.
Так, вот простейший скрипт, он подсчитывает число пересечений "круглых" уровней плюс Delta пунктов. Я применил его на минутках EURUSD, GBPUSD и USDCSD с 10:55 16.06.2004. Результат получился неожиданный и любопытный.
Принимаются комментарии как по тексту скрипта, так и по существу вопроса :)
// TestLevels.mq4#property show_inputsexternint Delta = 0;
//+------------------------------------------------------------------+int start() {
int pos;
int ILvl;
double RLvl;
int Cnt = 0;
for (pos=Bars-1;pos>0;pos--) {
ILvl = High[pos]*100;
RLvl = NormalizeDouble(0.01*ILvl+Delta*Point,Digits);
if (High[pos] >= RLvl && Low[pos] <= RLvl) Cnt++;
}
Comment("Количество пересечений для Delta = ",Delta," составило ",Cnt,", Level: ",RLvl);
return(0);
}
P.S. Для больших Delta скрипт врёт, но неожиданности результатов это отменять не должно
Так, ещё пост и пока ответов не будет больше на эту тему ни гу-гу :)
Сделал я опять рисующий гистограммы индикатор и вот что получилось для упомянутых трёх пар (по горизонтали - прибавка к круглому уровню в старых пунктах, начало в нуле, конец в 99)
Я бы считал не простые пересечения круглого уровня, а количество совпадений вершин зигзагов с разными периодами для каждого шага между круглыми уровнями. Так, мысль навскидку. То есть не насколько цена задерживается около уровня, а насколько уровень является целевым для движений цены. Или может быть пересечений линиями зигзагов с разными периодами.
Candid: Ну первая степень всё-таки грубовато, но по крайней мере я рад что мы оба уважаем деление пополам.
Грубовато только если считать, что разбиение производится только один раз. Я же имел в виду, что делением пополам мы можем получить линии первого подуровня. Делением пополам интервалов между ними - линии второго подуровня. И т.д. То есть то, что реализовано в индикаторе Мюррея. Оно выглядит весьма правдоподобно.
Candid: Я думаю пп. 1 и 2 можно свести к одному, выбрав горизонт мы можем получить и базу и интервал между уровнями.
Непонятно как выбор горизонта может определить базу. Под базой я понимаю абсолютное значение цены от которого откладываются в соответствии с величиной интервала все уровни сетки.
Candid:
Результат получился неожиданный и любопытный.
Что-то я не догнал в чем неожиданность и любопытность. :-(
Я бы считал не простые пересечения круглого уровня, а количество совпадений вершин зигзагов с разными периодами для каждого шага между круглыми уровнями. Так, мысль навскидку.
Зигзаг был здесь немного раньше, разве не эту статистику он показывает?
Грубовато только если считать, что разбиение производится только один раз. Я же имел в виду, что делением пополам мы можем получить линии первого подуровня. Делением пополам интервалов между ними - линии второго подуровня. И т.д. То есть то, что реализовано в индикаторе Мюррея. Оно выглядит весьма правдоподобно.
Понял наконец :). Ты бы мог мне объяснить всё гораздо проще, я же прямо перед этим писал про деление по степеням двойки, написал бы что согласен со мной, да и всё. Тогда я бы не искал в твоих словах смысловые отличия.
Непонятно как выбор горизонта может определить базу. Под базой я понимаю абсолютное значение цены от которого откладываются в соответствии с величиной интервала все уровни сетки.
Я думаю что база содержится или в выбранном горизонте или в старшем. При этом, заметь, я не говорю что знаю алгоритм её определения.
Что-то я не догнал в чем неожиданность и любопытность. :-(
То есть ты не видишь здесь никаких статистически значимых эффектов? Я ожидал что их именно не будет, но похоже что они есть. Хотя и не слишком сильные, грааль вряд ли получится.
Реальный опыт добавит, он есть. Я писал выше, что есть фильтр который отсеет многие ложные пробои. Но это не то, это исследование ТС, а не силы (статистической значимости) круглого уровня. Любое внесение чего то дополнительного в алгоритм сбора статистики, уводит нас в сторону. Тот же зигзаг, у зигзага есть параметры и точки перелома зависят от этих параметров. Мы пытаемся исследовать уровень, его и исследуем.
Если хотим исследовать статистику, как часто зигзаг будет ломаться рядом с целым уровнем это будут уже другие исследования, другие критерии…
З.Ы. я вообще считаю, что зигзаг и эта «пресловутая» фрактальность рынка вообще тут не причем, мы не это исследуем…
Но это не то, это исследование ТС, а не силы (статистической значимости) круглого уровня. Любое внесение чего то дополнительного в алгоритм сбора статистики, уводит нас в сторону.
Силы уровня мало. Силу уровня я бы определил просто через число пересечений его ценой, у сильного уровня цена должна непременно потоптаться. Мне казалось ты с самого начала говорил о вероятности разворота.
P.S. Для круглых уровней фрактальность ни при чём, а если речь зайдёт о других, то вполне может оказаться и "при чём".
Испытал NormalizeDouble. Результаты не совсем однозначные. Она оказалась несколько медленнее, чем вариант в два действия через целую переменную. Но не настолько, насколько я ожидал. То есть её в принципе можно использовать и в претендующих на скорость алгоритмах.
Но не для вычисления "круглых" уровней, потому что она не просто обрезает лишние цифры, а округляет.
Так, вот простейший скрипт, он подсчитывает число пересечений "круглых" уровней плюс Delta пунктов. Я применил его на минутках EURUSD, GBPUSD и USDCSD с 10:55 16.06.2004. Результат получился неожиданный и любопытный.
Принимаются комментарии как по тексту скрипта, так и по существу вопроса :)
P.S. Для больших Delta скрипт врёт, но неожиданности результатов это отменять не должно
Так, ещё пост и пока ответов не будет больше на эту тему ни гу-гу :)
Сделал я опять рисующий гистограммы индикатор и вот что получилось для упомянутых трёх пар (по горизонтали - прибавка к круглому уровню в старых пунктах, начало в нуле, конец в 99)
это EURUSD и GBPUSD
это USDCAD
Я бы считал не простые пересечения круглого уровня, а количество совпадений вершин зигзагов с разными периодами для каждого шага между круглыми уровнями. Так, мысль навскидку. То есть не насколько цена задерживается около уровня, а насколько уровень является целевым для движений цены. Или может быть пересечений линиями зигзагов с разными периодами.
Долго что то у меня получается. пока сделал индикатор на MQL-5
он показывает единицу когда пробит уровень (по логике что описывал ранее)
для уровня 1.29 вот такая статистика
2010.07.18 21:20:45 TestLevel (EURUSD,M1) Сумма=1113
2010.07.18 21:20:45 TestLevel (EURUSD,M1) Символ EURUSD приод 1
2010.07.18 21:20:45 TestLevel (EURUSD,M1) Количество баров 4039582
2010.07.18 21:20:45 TestLevel (EURUSD,M1) Дата начала тестирования 1993.05.13 00:00:00
т.е. он пробил уровень 1113 раз.
Индикатор прилагаю. буду ковырять дальше.
З.Ы. из твоей статистики если я правильно понял. уровень 50 пролетаем, но это не много нето что я предлагал, попробую сам написать сборщик статистики
Ну первая степень всё-таки грубовато, но по крайней мере я рад что мы оба уважаем деление пополам.
Грубовато только если считать, что разбиение производится только один раз. Я же имел в виду, что делением пополам мы можем получить линии первого подуровня. Делением пополам интервалов между ними - линии второго подуровня. И т.д. То есть то, что реализовано в индикаторе Мюррея. Оно выглядит весьма правдоподобно.
Я думаю пп. 1 и 2 можно свести к одному, выбрав горизонт мы можем получить и базу и интервал между уровнями.
Непонятно как выбор горизонта может определить базу. Под базой я понимаю абсолютное значение цены от которого откладываются в соответствии с величиной интервала все уровни сетки.
Результат получился неожиданный и любопытный.
Что-то я не догнал в чем неожиданность и любопытность. :-(
Я бы считал не простые пересечения круглого уровня, а количество совпадений вершин зигзагов с разными периодами для каждого шага между круглыми уровнями. Так, мысль навскидку.
Грубовато только если считать, что разбиение производится только один раз. Я же имел в виду, что делением пополам мы можем получить линии первого подуровня. Делением пополам интервалов между ними - линии второго подуровня. И т.д. То есть то, что реализовано в индикаторе Мюррея. Оно выглядит весьма правдоподобно.
Непонятно как выбор горизонта может определить базу. Под базой я понимаю абсолютное значение цены от которого откладываются в соответствии с величиной интервала все уровни сетки.