Tâche terminée
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Spécifications
Написать индикатор на основе готовых скриптов к базовым индикаторам.
Есть 33 готовых скрипта к базовым индиеаторам МТ4. Каждый скрипт при запуске рассчитывает значеие базового индикатора для данной пары и ТФ , например Cond_МA_ab (закрытие бара ниже/выше МА) для заданного промежутка времени (например с 01.15.2017 по 01.14.2019 и для разных настроек формирует csv файл. Записывая в каждую ячейку 0,1 или-1 См.Рис1. Эти файлы никак в рабоге будующего индикатора не участвуют.
Задача. Написать индикатор . выдающий на выходе 1,-1 или 0 по одной заданной логике.
Индикатор состоит из 20 моделей
Модель№1 Задаётся вручную отдельно для лонг и шорт
LONG
Cкрипт3(поле4)не=1 Скрипт5(поле7) не=1 Скрипт8(поле3)=1 Скрипт21(поле2)=1 Скрипт21(поле5)=1
если эти условия выполняются то модель на выходе выдаёт "1" если нет , то "0".
SHORT
Cкрипт3(поле4)не=-1 Скрипт5(поле7) не=-1 Скрипт8(поле3)=-1 Скрипт21(поле2)=-1 Скрипт21(поле5)=-1
если эти условия выполняются то модель на выходе выдаёт "-1" если нет , то "0".
Таких моделей 20 Они образуют "коллекцию" .
Если хотя бы одна лонг-модель в коллекции на выходе имеет "1", то коллекция на выходе имеет"1" сигна (Long) загорается стрелка вверх
Если хотя бы одна шорт модель в коллекции на выходе имеет "-1", то коллекция на выходе имеет"-1" (Short) загорается стрелка вниз
Итак. Сформировался очередной бар. Индикатор расчитал по заданным скриптам и заданным их полям
значения 0, 1 или -1 сравнил с заданными настройкми. И вывел на выход значение 0, 1 или -1.
и так по всем 20 моделям.
В каждой модели будет задействовано 5-8 скриптов из 33 остальные по умолчанию не учитываются.
При этом в моделе один скрипт может повторяться 2-3 раза но по разным его настройкам. как это видно на скрипте ADX Рис_4
как работают скрипты можно понять из их описания. Первые десять см. файл зип.
Дополнительное обьяснение. Частный случай. EURUSD M30
На основе базовых индикаторов построены скрипты (33шт) , создающие csv файлы c рассчитываемыми для каждой свечи значениями. 0, 1 или-1. Или только 1,-1.
Расчет по скриптам происходит для разных настроек.
Пример. Cond. МА_аb закрытие свечи выше /ниже МА .Выше 1 Ниже -1 . Но настроек много
S14, E14, Sm14, LW14, S50, E50 ….......
или Cond_MFI (Money Flow Index) закрытие выше 80 «-1 « ниже20 « 1» для периодов
12, 13 ,14, 15, 16. Скриптов 33, но колонок 128.
В итоге для отрезка 8 лет. Мы имеем файл. 100.000 строчек по вертикали М30 и 128 колонок.
С 0,1 или -1. После машинного обычения мы получили модель для входа.
Например Сond.MA_ab по настройке LW50 не=1 и Сond.MFI по настройке 13 = «1 « то 1
а если Сond.MA_ab по настройке LW50 не= - 1 и Сond.MFI по настройке 13 = «-1 « то -1
Мы вручную (пока) записываем это условие в индикатор .
В реальном времени. После формирования каждой M30 индикатор должен согласно условиям записанным в двух выше указанных скриптах рассчитать значения и если условия совпадут выдать сигнал. 1 или -1.
В реальной ситуации условий не 2 а 5-8. в каждой модели. И моделей не 1 а 10-20 шт что создает коллекцию. Если хотя бы одна модель в коллекции дает 1 или -1 то это сигнал на лонг или шорт.