Техническое задание
Задача: написать индикатор для МТ4 анализирующий внешние данные.
Итак, есть сайт: (http://ru.investing.com/technical/%D0%A1%D0%B2%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9-%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7), который приводит данные сводного технического анализа для торговли на форекс.
Индикатор, который мне нужен, должен эти данные обрабатывать.
Интересует именно прогноз для пары eur/usd. Анализировать будем только строчку «резюме».
В этой таблице бывают такие значения:
Активно покупать,
покупать,
нейтрально,
продавать,
активно продавать
Каждому из этих значений нужно присвоить цифровое значение:
Активно покупать= - 2
покупать= -1
нейтрально= 0
продавать = 1
активно продавать = 2
Каждому столбцу нужно присвоить «индекс значимости», который я потом смог бы легко изменить в настройках. Предварительно это должно быть равно:
5 минут = 0
15 минут = 0,25
1 час = 0,5
1 день = 1
Далее, собственно работа скрипта:
1)скрипт обращается к сайту и вытаскивает данные, актуальные на данный момент.
2)Присваивает им соответствующие цифровые значения
3) умножает цифровые значения на индекс значимости.
4) полученные цифры суммирует и получает предварительное прознозное значение.
6)После этого сравниваем цифровые значения в столбцах «1 час» и «1 день». Если они с противоположными знаками ( в одном положительное число, а во втором отрицательное), то предварительное прогнозное значение умножается на ноль и итоговое прогнозное значение (ИПЗ) равно нулю.
7) Если в столбцах «1 час» и «1 день» одно из цифровых значение равно нулю, то сравниваем значение в столбце «15 минут» с тем значением, которое не равно нулю. Если они с противоположными знаками ( в одном положительное число, а во втором отрицательное), то предварительное прогнозное значение умножается на ноль и итоговое прогнозное значение (ИПЗ) равно нулю.
8) индикатор выполняет запрос на сайт и соответственно обрабатывает данные каждые Х минут (значение должно устанавливаться в настройках индикатора ).
9) Скрипт должен сохранять в архив данные (время и значение ИПЗ) о каждом расчете ИПЗ в течении Y суток (значение должно устанавливаться в настройках индикатора).
10) Индикатор на основании архива строит график в приблизительно таком виде: откладывая ИПЗ по вертикальной шкале -8…0….+8, при этом достраивая график после каждого внесения новых данных в архив.
В дальнейшем, на основе этого индикатора планируется написать торговый советник, так что возможно продолжение сотрудничества с выбранным исполнителем.