Волновой анализ в MT4
Введение
Данное описание составлено из фрагментовсообщений разработчика программы Романа (Romario) сделанных им на форумах Fiboи Onix. Описание адаптировано под версию программыWaves v.0.0.5.1.Программа для проведения волнового анализа вклиентском терминале MetaTrader 4 из-за ограничений языка MQL4 написана на Delphi(для внедрения системы анализа непосредственно в MetaTrader следует ожидатьвыхода MQL5). Поэтому программа состоит из двух модулей:непосредственно программы Waves ииндикатора Waves Indicator, посредствомкоторого осуществляется отображение результатов анализа на соответствующемграфике клиентского терминала MT4.
Импорт котировок по анализируемому инструменту впрограмму Waves осуществляетсявручную, после чего результаты расчета сохраняются в файл, а затем с помощьюиндикатора и отображаются в MT4.
Теправила, которые заложены в настоящий момент - очень банальны, просты иподходят только для полностью завершённых волн. Поэтому не удивляейтесь, если,например, у незавершенного импульса 3-я волна не выходит за вершину 1-ой волны,а 2-ая волна ниже начала 1-ой волны. Схема проведения анализаДля реализации алгоритма волнового анализа, впрограмме введена следующая классификация волн.
1. Неначатые волны (
Нн):
Для волн, состоящих из ПЯТИ волн меньшего уровня:
Нн4-5
Нн3-4-5
Нн2-3-4-5
Нн1-2-3-4-5
Для волн, состоящих из ТРЁХ волн меньшего уровня:
Нн2-3
Нн1-2-3
2. Законченные (завершенные):
1-2-3-4-5
1-2-3
3. Незавершенные (
Нз):
1-2-Нз3
1-2-3-Нз4
1-2-3-4-Нз5
4. Одновременно неначатые и незавершенные (
НнНз):
Нн1-2-Нз3
Нн2-3-Нз4
Нн3-4-Нз5
Нн1-2-3-Нз4
Нн2-3-4-Нз5
Нн1-2-3-4-Нз5
В данном списке цифры обозначаютномер волны, а не принадлежность к импульсу, клину или диагонали. Программаанализирует, основываясь на данной классификации.
По умолчанию анализ начинается сволн
НнНз (если указана опция "Начало - старт волны" - то с
Нз).
Предположим, что волна старшего уровня - импульс.
Первая волна в списке незавершенных волн - Нн1-2-Нз3
В данной волне (импульсе) вершины 1 и 2 зафиксированы. То есть определить этуволну можно по двум точкам.
С помощью ЗигЗага на графике ищутся 2 точки. Это достигается путем перебора егопараметра до тех пор, пока число выдаваемых им вершин не станет равным 2.
Эти вершины помечаются как (1) и (2) (так как импульс)
Далее анализируется волна (1) этогоимпульса. Но так как она неначатая, то берутся волны из списка
Нн.
Первая в списке Нн4-5. То есть предполагается что волна 4 у нас не начатая (нехватает истории)
Здесь опять же от ЗигЗага подребуется 2 точки на данном промежутке. Он их ищети помечает как 4 и 5 (но уже меньшего уровня).
Далее этот процесс повторяется. Анализируются все комбинации в приведенном вышесписке. То есть в данном случае после анализа Нн4-5, волна (1) анализируетсякак Нн3-4-5, Нн2-3-4-5 и наконец, Нн1-2-3-4-5.
Также анализируются и завершенные инезавершенные волны. На каждом этапе после выявления точек они проверятся посоответствующим правилам для волн.
Установка и запуск1. Распаковать архив:
Файлы Waves Indicator v.0.0.5.0.mq4 и Waves Indicator v.0.0.5.0.ex4 (если таковой имеется)в каталог где установлен клиентский терминал, например, С:\Program Files\MetaTrader\experts\indicators>;
Файл Waves.exe в любойсозданный каталог, например, С:\Program Files\MetaTrader WAVES>. 2. Запустить клиентский терминал и открыть нужный график в MT4 (сделать егоАвтономным для предыдущих версий, для версии 0.0.5.0 не обязательно). 3. Через "Архив котировок" сохранить файл нужного инструмента(формат csv). При сохранении другим способом необходимо проверить, чтобы форматзаписи в файле имел вид "yyyy.mm.dd, hh:mm, Open, High, Low, Close,Volume".
Для автоматического экспорта котировок в единый каталог рекомендуетсяиспользовать индикатор Period_Converter _Opt_Modify, в котором устранены ошибки записи даты. Котировки в формате .csvсохраняются в единый каталог по месту установки клиентского терминала С:\Program Files\MetaTrader\experts\files\. 4. Запустить программу Waves и вписать адрес папки «files» в окно 1(туда будут сохраняться результаты расчетов). Нажать "Сохранить"(далее этот адрес будет сохраняться автоматически). 5. В программе Waves открыть сохраненный файл соответствующего временного периодаанализируемого инструмента (Файл -> Открыть) из каталога С:\Program Files\MetaTrader\experts\files\XXXXXX.csv и нажать накнопку "Считать". 6. В окне 2 в виде дерева будут изображенырезультаты расчетов после их завершения. - Щелчок левой кнопкой мыши по верхнему символу в дереве волн сохранит результат автоматического анализа в файл для вывода результатов в клиентский терминал.
- В клиентском терминале применить индикатор Waves Indicator к анализируемому графику.
Обновите график, если символы располагаются "неправильно".
Проведение анализа и сохранениерезультатов.Выбор параметров анализа:- Максимальное число точек для определения волны.
Волновой анализ осуществляется сверху вниз, то естьсначала программа определяет волны старших уровней, а затем последовательномладших.
На рисунке ниже видно, что программа определила волну
(2)и волну
(3). Далее программа анализируетвнутреннюю структуру волны
(3). Третья волнадолжна состоять из 5 волн меньшей степени. Для определения этих волнпонадобится минимум 6 точек (показаны на рисунке). Зигзаг выделяет эти 6 точек(или более, если ровно 6 не получается сформировать). Но по ним нельзяобозначить 5 волн, т.к. нарушаются определенные правила. Поэтому получается"пробел" в разметке.
ShowCannel – При значении равное trueотображаются каналы, построенные по 3-м последним экстремумам волн.</p>Поясним назначение некоторых опций.
OffsetМногие программы (например, индикаторная платформа ZUP) выводятвспомогательную информацию (например, номер луча зигзага, считая от нулевогобара). Как результат символы накладываются друг на друга.
С помощью данной опции можно увеличить расстояние между баром и символоммладшего волнового уровня выводимого на данном графике. Даже если дополнительныхсимволов нет, "небольшой отрыв" от бара - только улучшает читаемостьразметки.
SaveAnalysisOnExitКак ужеотмечалось, сохранение результатов разметки является временным, как толькоудаляется индикатор или происходит выбор нового варианта, проведение новогоанализа – предшествующая разметка с графика удаляется. Для сохранения ее ислужит данная опция –
позволяющаяперевести разметку на графике из "ObjText" в"SaveText".Удалитьсимволы Text можно потом с графика в ручную или используя скрипт CLEAR_CHART_BY_NAME_AND_TYPE.mq4RaiseLevelOn.Прииспользовании в программе Waves функции уменьшения глубины волнового анализа,одновременно с этим происходит и понижение стиля отображаемого волновогоуровня, который затем можно вернуть в исходное состояние на графике с помощьюданной опции.
P.S. В присоединенном архиве находитсярабочий комплект программы и скрипов.Второе дыханиеВертикальные линии - диапазон целей конкретной волны.
Если волна, для которой определяются цели направлена вверх, то минимальное имаксимальное значение вертикальной линии - соответственно минимальная имаксимальная цель. Если же волна, для которой определяются цели направленавниз, то наоборот. Горизонтальные черточки в пределах вертикальной линии -наиболее вероятные цели этой волны.
В индикатор ScanWave Indicator добавлен параметр ShowTargetWaveLines. Призначении равном True на график выводятся линии от вершина волны, за которойидет целевая волна (т.е. волна, для которой определяются цели). Сделано, чтобы былопонятно какой волне соответствуют отображаемые цели.
Как работать с программой:
1). Открыть нужный график в MT4 и сделать его Автономным.
2). Через "Архив котировок" сохранить файл нужного инструмента(формат csv). При сохранении другим способом необходимо проверить, чтобы форматзаписи в файле имел вид "yyyy.mm.dd, hh:mm, Open, High, Low, Close,Volume"
3). Открыть программу и вписать адрес папки files MetaTrader в окно
1 (туда будут сохраняться результаты расчетов).Нажать "Сохранить" (далее не надо будет вводить этот адрес).
4). В программе открыть (Файл -> Открыть) сохраненный файл инструмента инажать на кнопку "Считать".
5). В окне
2 в виде дерева будут изображенырезультаты расчетов.
6). В MT4 к графику применить индикатор Wave.
7). В MT4 обновляйте график, если символы располагаются"неправильно".
P.S. Файлы:
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.0.2.rar ( 290.43килобайт )
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.0.3.rar ( 201.78килобайт )
Увеличино быстродействие (это, наверное, максимум, что можно сделать в планескорости).
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.0.4.rar ( 220.26килобайт ) К
Появилась возможность задать глубину анализа по времени и по количествуволновых уровней; решена проблема с invalid-барами; отпала необходимостьуказывать число цифр после запятой конкретного инструмента.
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.0.5.rar ( 273.34килобайт )
Глобальных изменений нет. Вернулся русский интерфейс, на 1500 строк сокращенкод программы, немного увеличено быстродействие.
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.1.0.rar ( 289.21килобайт )
Плюс: переработаны правила для волн, в том числе незавершенных. Минус:значительно пострадало быстродействие. Также в индикаторе Wave можно задатьпараметр Lev - волновой уровень, который будет "воспроизводиться линиямисоответствующего цвета, что-то вроде Зиг-Зага".
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.2.0.rar ( 290.93килобайт )
Добавлена возможность самостоятельно выбирать варианты разметки волн (правойкнопкой мыши в дереве волн).
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.3.0.rar ( 290.21килобайт )
Увеличено быстродействие анализа. В индикатор (Wave v.0.0.3.0) добавленыпараметры:
1. Offset - смещение маркировки волн (в пикселях) от вершины бара;
2. ShowSelectWave - при true показывает участок волны, выбранной в программеправой кнопкой мыши (используется при самостоятельном выборе вариантов разметкиконкретной волны);
3. SaveAnalysisOnExit - если значение равно true, то при отключении индикатораразметка сохраняется на графике (используется при необходимости самостоятельноскорректировать разметку на графике).
file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifWavesMT4v.0.0.4.0.rar ( 293.27килобайт )
1. В индикатор (Wave v.0.0.4.0) добавлен параметр ShowChannel. При trueотображаются каналы, построенные по 3-м последним экстремумам волн.
2. При анализе участка графика появилась возможность указать, что начало - этообязательно старт какой-либо волны высшей степени.
НОВАЯ ВЕРСИЯ: file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gifScanWavev.0.2.zip ( 528.09 килобайт )
1. Сортировка волн в соответствии с их оценкой (волны с большей оценкойрасположены выше);
2. Анализ волн в соответствии с правилами Elwave (теоретически Elwave долженкорректно воспринимать разметку, сделанную программой);
3. Правила хранятся в фале modern75.rls (информация из файла считывается вмомент загрузки программы, поэтому программа запускается с небольшойзадержкой);
4. Вывод целей на график в MT4.
5. Существует проблеманепропорционального анализа волн по длительности. В тестовой версии добавилправило для незавершенных и не начатых волн - правило подобия, взятое из книгиГ.Нили. Данное правило гласит: "Две смежные волны считаются подобными вовременном отношении, если длительность меньшей из них составляет как минимумтреть протяженности больше"
P.S. Да простят меня прогнозисы file:///C:/Users/A28E~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.gif.