Многоуровневые системы анализа рынка.

Тема в разделе "Зиг-Заг. Системы с использованием ZigZag.", создана пользователем nen, 13 мар 2011.

  1. nen

    nen Профи форума

    Многоуровневых систем существует большое количество.
    Наверное, самой известной будет так называемая Система трех экранов Александра Элдера.
    Систему SK-FX Торговая Система Высокой Точности http://www.tradersforum.net.ru/forum/sk-fx-torgovaya-sistema-visokoj-tochnosti-f50.html можно отнести к многоуровневым системам.
    Система DML&EWA, разработанная Putnik-ом, относится к многоуровневым системам.
    ...
    Перечислять можно много.

    Есть попытки как-то автоматизировать построение большого количества уровей на основе имеющейся истории котировок.

    Роман сделал сканер волн Эллитта -
    Волны Эллиотта в МТ4 http://www.onix-trade.net/forum/index.php?showtopic=82758
    Реализация автоматического анализа волн Эллиотта на MQL5 http://www.mql5.com/ru/articles/260?source=metaeditor_article

    Если поискать в сети, то можно найти много материалов по теме Многоуровневого анализа рынка.

    Есть индикаторы, строящие многоуровневую разметку.
    Два из них были созданы на этом форуме:

    Посмотреть вложение MZZ9.rar

    Посмотреть вложение Fractals9tf.rar

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

    Этот вариант, на мой взгляд, интересен прежде всего в плане исследования рынка. Но, возможно, найдутся люди, кто предложит интересные идеи по созданию на основе этого построителя каких-то торговых стратегий, интересных графических построений.

    Сначала будет описание. Потом сам построитель.
     
    1 человеку нравится это.
  2. nen

    nen Профи форума

    Вкратце идея построителя следующая.
    Берется история котировок. По заданному алгоритму производится отбор экстремумов из имеющейся истории.
    Полученная выборка экстремумов обрабатывается с помощью того же или с помощью другого алгоритма.
    Получаем второй уровень. И таким же образом обрабатываем выборку экстремумов каждого нового уровня с помощью алгоритма, который использовался для получения второго уровня. Обрабатываем до тех пор, пока из последней выборки уже нельзя будет сделать следующую выборку.
    Сейчас построитель рассчитан на получние 11 уровней. Этого достаточно для обработки примерно всей имеющейся минутной истории, если производится обработка минуток.

    На график можно вывести 4 подряд идущих уровня. Имеется возможность выбора, начиная с какого уровня выводить.
     
  3. nen

    nen Профи форума

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

    eurusd_konstruktor_11-03-12-d1.gif

    Тот же алгоритм, но другое графическое представление:

    eurusd_konstruktor_11-03-12-d1_1.gif

    Или так:

    eurusd_konstruktor_11-03-12-d1_2.gif

    Это представлены только варианты вывода одной комбинации алгоритмов.
    Сколько можно создать комбинаций алгоритмов, ответить затрудняюсь. Не подсчитывал.
     
  4. nen

    nen Профи форума

    Рассчиаются сразу все уровни. Расчет производится быстро. Три миллиона баров обрабатывались не более минуты.
    А потом при поступлении новой истории, в онлайне, вообще не заметна загрузка компьютера.
    Причем, если на экран выводится только 4 уровня, то графические построения можно строить на всех имеющихся уровнях.
    Все уровни хранятся в массивах в памяти.
     
  5. nen

    nen Профи форума

    Описание параметров построителя.

    В настоящий момент имеется три группы параметров:

    1) Параметры для первой выборки экстремумов.

    PrimarySelectionOfExtremums = 1 - Выбор алгоритма первичного отбора экстремумов
    0 - алгоритм стандартного зигзага
    1 - по фракталам
    2 - свинги Ганна
    3 - свинги Ганна в варианте matrica
    4 - zigzag_Dow
    5 - двухбаровый фильтр
    6 - усреднение баров


    filterZigZag = 0 - может быть только 0 или 2
    0 - зигзаговая фильтрация до расчета следующего уровня
    1 - зигзаговая фильтрация после построения следующего уровня - сейчас отключено - не реализовано
    2 - без зигзаговой фильтрации

    // Параметры для алгоритма стандартного зигзага
    ExtDepth = 21; // количество баров, на которых ищется экстремум - примерно соответствует периоду MA
    ExtDeviation = 13;
    ExtBackstep = 34;
    // Параметры фрактального индикатора для первичного отбора экстремумов
    ExtBarLeft = 2; // количество баров слева ниже максимума
    ExtBarRight = 2; // количество баров справа ниже максимума

    // Свинги Ганна - только первичный уровень
    externalBar = 2
    0 - луч от предыдущего бара идет к ближайшему экстремуму внешнего бара
    1 - на внешнем баре продолжается тренд предыдущего бара.
    2 - луч идет к тому экстремуму внешнего бара, к которому ближе цена открытия бара.
    Если цена открытия находится на одинаковом расстроянии от максимума и минимума, то будет вариант 1.

    // усреднение баров
    bars_average = 0; // Алгоритм выбора усреднения баров
    0 - (H+L)/2
    1 - (H+L+O+C)/4
    2 - (H+L+C+C)/4


    2) Параметры для отбора экстремумов второго и последующих уровней.

    NextSelectionOfExtremums = 1; // Выбор алгоритма для отбора экстремумов второго и следующих уровней
    0 - отсутствует построение второго и следующих уровней
    1 - по фракталам
    2 - свинги Ганна
    3 - zigzag_alf
    4 - zigzag_Dow


    3) Общие параметры

    VariantShow = 0; // выбор варианта вывода информации на график
    0 - вывод в виде зигзага,
    1 - вывод ромбиков на экстремумах,
    2 - две линии, одна линия соединяет минимумы, вторая - максимумы.
    3 - зарезервировано
    ShowPrimaryLevel = 0; // номер уровня, начиная с которого производится вывод экстремумов на график
    QuantityExtremums = 20; // задание количества экстремумов старшего уровня, для которых будут сохраняться в массивах
    // экстремумы младшего уровня. 0 - все экстремумы, от 1 до 10 - 10 экстремумов
    ColorLevels = "Tan,RoyalBlue,Aqua,SaddleBrown,Red,Yellow,Magenta,Purple,MediumSpringGreen,Chocolate,LightGray"; // цвет уровня
    StyleLevels = "0,0,0,0,0,0,0,0,0,0,0"; // задаем стиль линий для каждого уровня
    WidthLevels = "0,0,0,0,0,0,0,0,0,0,0"; // задаем толщину линий для каждого уровня
    Statistica = 3; // вывод статистики во вкладку Эксперты метатрейдера после расчета истории
    1 - выводится количество баров с экстремумами на каждом уровне
    2 - выводится количество лучей младшего уровня в одном луче старшего уровня.
    3 - ... выводится условная прибыль... (что и как считается сейчас уже не помню. Описание этой возможности было уничтожено на форуме при сбое жесткого диска на сервере форума. Желающие могут разобраться по коду индикатора...)

    ExtComplekt = 0; // номер комплекта. Если на график выведено несколько индикаторов, то у каждого индикатора должен быть
    уникальный параметр ExtComplekt, чтобы отличать графические построения, относящиеся к конкретному индикатору

    Во вкладку Эксперты можно выводить небольшую статистику. Варианты статистической обработки 1-2-3
    На статистику можно пока не обращать внимание.

    Посмотреть вложение Konstruktor.rar
     
    1 человеку нравится это.
  6. nen

    nen Профи форума

    Если у кого появятся идеи торговых стратегий на основе этого построителя, просьба писать в этой теме далее.
     
    1 человеку нравится это.
  7. Марк Аврелий

    Марк Аврелий Активный пользователь

    а где про zz альфа и матрицы почитать?
     
  8. nen

    nen Профи форума

    Matrica в теме Загадочный Гленн Нили в волновом анализе. Там же и несколько вариантов реализации этого зигзага.
    alf - просто посмотри, как он строится.
     
  9. поручик

    поручик настоящий полковник

    Жень, толщина зиг-загов слетает к исходному при смене ТФ
     
  10. nen

    nen Профи форума

    Стас, толщину надо регулировать параметром WidthLevels.
     
  11. nen

    nen Профи форума

    В первом посте выложил два мультизигзага. Забыл, что был еще сделан мультизигзаг по алгоритму, предложенному matrica.

    Посмотреть вложение MZZMatrica.rar
     
  12. palvir

    palvir Новичок

    То же с цветом(если менять на вкладке "цвета").
     
  13. nen

    nen Профи форума

    ColorLevels = "Tan,RoyalBlue,Aqua,SaddleBrown,Red,Yellow,Magenta,Purple,MediumSpringGreen,Chocolate,LightGray"; // цвет уровня
    StyleLevels = "0,0,0,0,0,0,0,0,0,0,0"; // задаем стиль линий для каждого уровня
    WidthLevels = "0,0,0,0,0,0,0,0,0,0,0"; // задаем толщину линий для каждого уровня
     
  14. alf

    alf Старый опытный камикадзе

    Евгений день добрый, пока я отдыхал фиба закрылась?
     
  15. nen

    nen Профи форума

    Дмитрий, напиши Игорю.
     
  16. ars

    ars Новичок

    Добрый день Евгений (nen).
    Посмотрел Ваш индикатор, мне он понравился для поиска дивергенций/конвергенций (Д/К) по системе "SK-FX Торговая Система Высокой Точности". Дело в том, что все индикаторы для определения Д/К (я имею в виду те, что выложены в свобдный доступ), не правильно ведут поиск Д/К, а от этого и много появляется неопределенностей и не соответствия в определении Д/К. Не буду перечислять, с чем я не согласен, опишу, как я применяю индикатор Konstruktor для определения Д/К.
    Для определения текушей Д/К, берем последний экстремум на Konstruktor_е и соотносим с нулевым баром на osma. При появлении Д/К чертится линия на графике цены и индикаторе osma. Поиск Д/К должен вестись только по ценам High и Low. Так же проводим поиск Д/К по второму уровню. Таким оразом определяем общюю и локальную Д/К.
    Ели есть такая возможность, добавить в индикатор Konstruktor функцию поиска Д/К на основе осцилятора osma, это будет инструмент, который облегчит жизнь многим, кто в своих системах применяет Д/К.
    Вооще то, осцилятор osma мне не нравится. Хотя автор системы "SK-FX Торговая Система Высокой Точности" утверждает, что он показывает почти все Д/К, из своего опыта я знаю, что есть и другие, которые в этом плане лучше.
    С уважением, Александр.
     
  17. nen

    nen Профи форума

    ars, какие настройки Конструктора применяете? Вариантов сочетания алгоритмов в этом индикаторе много.
     
  18. ars

    ars Новичок

    Добрый день Евгений.
    Параметры Konstruktor:
    PrimarySelectionOfExtremums = 1;
    filterZigZag = 1;
    ExtDepth = 8;
    ExtDeviation = 5;
    ExtBackstep = 13;
    ExtBarLeft = 2;
    ExtBarRight = 2;
    externalBar = 2;
    bars_average = 0;
    NextSelectionOfExtremums = 2;
    VariantShow = 2;
     
  19. nen

    nen Профи форума

    Алгоритм в данном случае задают параметры
    PrimarySelectionOfExtremums = 1;
    ExtBarLeft = 2;
    ExtBarRight = 2;
    NextSelectionOfExtremums = 2;

    Это "фрактальные" зигзаги.
     
  20. ars

    ars Новичок

    Согласен. Я понял. Так можно добавить в индикатор Konstruktor функцию поиска Д/К на основе осцилятора?
     

Поделиться этой страницей