Задача:
Нужно написать простую программку, которая будет работать на виндовс. Если кратко, то ее задача с определенным промежутком времени делать запрос на сайт, обрабатывать полученные данные и записывать результат в архив.
Итак, есть сайт: (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), который приводит данные сводного технического анализа для торговли на форекс.
Программа, которая мне нужна, должен эти данные обрабатывать.
Данные приводятся в виде таблицы:
<!--[if !supportLineBreakNewLine]-->
Интересует именно прогноз для пары 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) Скрипт должен сохранять результаты вычислений в 2 файла: текущий и архив. В файле «текущий» сохраняется только время и значение ИПЗ последнего вычисления. После каждого нового запроса запись в файле текущий перезаписывается на новые результаты. В файле «архив» данные записываются в виде таблицы:
Дата
| время
| Итоговое прогнозное значение
|
20.07.17
| 00:05
| -3
|
20.07.17
| 00:10
| 2
|
20.07.17
| 00:15
| error
|
|
|
|
Каждые сутки должен создаваться новый файл в папке «архив». Название файла – текущая дата.
Если по какой-либо причине запрос на сайт не удалось выполнить, то в графе «Итоговое прогнозное значение» должно быть значение «error».