Скрипт сбора данных с торгов по заданной бумаге, значений индикаторов, сохраняющий их в отдельных файлах.

Работа завершена

Время выполнения 21 день
Отзыв от заказчика
Все четко, без лишних вопросов. Конечно были сложности, ошибки, но все поправлено и показано, как лучше использовать. Чуток не совпали по времени, но в целом все хорошо.

Техническое задание

Скрипт сбора данных с торгов, значений индикаторов и сохраняющий их в отдельных файлах.

Разработать скрипт, который будет считывать и писать в файлы формата cvs выбранного таймфрейма:

1. Значения всех параметров с торгов по бумаге на графике по столбцам:

- год;

- месяц;

- день;

- часы;

- минуты;

- секунды;

- день недели (пн.-1, вт.-2, ср.-3, чт.-4, пт.-5, сб.-6, вс.-7);

- квартал (декабрь-февраль=1, март-май=2, июнь-август=3, сентябрь-ноябрь=4);

- цена открытия;

- максимальная цена бара;

- минимальная цена бара;

- цена закрытия;

- объем сделок на баре;

- количество сделок;

2. Значения индикаторов по столбцам, считанные с графика уже после построения (не в момент торгов, т.е. фактические значения). Считываются индикаторы, прикрепленные к графику, их параметры и значения. Значения индикаторов записываются в отдельных столбцах (см. пример файла).

Если на графике есть индикатор zigzag, то помимо значений индикатора, указывать в отдельном столбце:

- buy при переходе из линии вниз в линию вверх (оконечные значения – не значения в момент торговли).

- sell при переходе из линии вверх в линию вниз (оконечные значения – не значения в момент торговли).

Если на графике есть индикатор super-signals-channel, то помимо значений индикатора, указывать в отдельном столбце:

- buy при стрелке вверх (оконечные значения – не значения в момент торговли).

- sell при стрелке вниз (оконечные значения – не значения в момент торговли).

Робот должен считывать с графика все значения индикаторов (с параметрами, заданными пользователем на графике) для текущего тайм фрейма на истории (начиная с выбранной даты), что загружена в Терминал.

Обязательна поддержка индикаторов:

Функция

Возвращает значение индикатора

iAC

Accelerator Oscillator

iAD

Accumulation/Distribution

iADX

Average Directional Index

iAlligator

Alligator

iAO

Awesome Oscillator

iATR

Average True Range

iBearsPower

Bears Power

iBands

Bollinger Bands®

iBullsPower

Bulls Power

iCCI

Commodity Channel Index

iCustom

Пользовательский индикатор

iDeMarker

DeMarker

iEnvelopes

Envelopes

iForce

Force Index

iFractals

Fractals

iGator

Gator Oscillator

iIchimoku

Ichimoku Kinko Hyo

iBWMFI

Market Facilitation Index by Bill Williams

iMomentum

Momentum

iMFI

Money Flow Index

iMA

Moving Average

iOsMA

Moving Average of Oscillator (MACD histogram)

iMACD

Moving Averages Convergence-Divergence

iOBV

On Balance Volume

iSAR

Parabolic Stop And Reverse System

iRSI

Relative Strength Index

iRVI

Relative Vigor Index

iStdDev

Standard Deviation

iStochastic

Stochastic Oscillator

iWPR

Williams' Percent Range

zigzag

ZigZag

super-signals-channel

super-signals-channel

 

3. Значения всех параметров торгов по заданной бумаге (если задана).

Данные должны считываться того же таймфрейма, что и по основной бумаге.

- цена открытия;

- максимальная цена бара;

- минимальная цена бара;

- цена закрытия;

- объем сделок на баре;

- количество сделок.

 

Как должно работать:

1.      1. Выбирается ценная бумага.

2.      2. Строятся график бумаги с выбранным таймфреймом (задает пользователь).

3.      3. Привязываются индикаторы к бумаге (параметры задает пользователь).

4.      4. Выставляются параметры скрипта. В параметрах у скрипта:

- дата, начиная с которой, начинать выгрузку данных (или конкретная дата или ALL – на всей истории);

- писать значения параметров торгов только с текущего таймфрейма или всех (если выбирается текущий таймфрейм, то все значения текущего таймфрейма пишутся только с графика в файл cvs на лист заданной бумаги (пример:RTS H1), а если все значения, то пишутся данные со всех таймфреймов на разные листы (листы: RTS M1, RTS M5, RTS M15, RTS M30, RTS H1,…) ).

- дополнительная бумага у которой считать значения (NULL – если не задана и название бумаги, если задана);

- сохранять данные в файлы cvs (по дням, месяцам, кварталам, годам, за всю историю). Соответственно, в зависимости от выбора, как только закончился период, данные пишутся в новый файл cvs (название файла должно соответствовать выбранной бумаге и с датами начала записи и конца и если задана доп. Бумага, то в конце приписывается вторая бумага, например: RTSI 2015.05.01-2019.06.01 GAZR);

- разделитель разрядов (точка или запятая);

- папка куда сохранять cvs данные.

5.      5. Запускается робот.

6.      6. Робот считывает бумагу, текущий таймфрейм, список индикаторов, все данные бумаги, торгов, индикаторов и записывает их в файлы CVS.

1.    7. По окончании записи выдает сигнал о завершении (звуком и заметным текстом на графике: ВЫГРУЗКА ЗАВЕРШЕНА). В случае возникновения ошибок, нужно возвращать номер ошибки.


 

Предоставляется разработчиком:

1) Скрипт записи данных в файлы cvs в откомпилированном виде.

2) Исходный код скрипта записи данных в файлы cvs для компиляции без ошибок (комментарии к функциям обязательны).

3) Пример записанного файла cvs.

 

ПРИМЕР ИТОГОВОГО ФАЙЛА .csv во вложении.


Откликнулись

1
Разработчик 1
Оценка
(279)
Проекты
650
28%
Арбитраж
111
19% / 61%
Просрочено
319
49%
Работает
2
Разработчик 2
Оценка
(45)
Проекты
50
34%
Арбитраж
14
7% / 64%
Просрочено
15
30%
Свободен
3
Разработчик 3
Оценка
(341)
Проекты
588
36%
Арбитраж
31
45% / 3%
Просрочено
16
3%
Свободен
4
Разработчик 4
Оценка
(336)
Проекты
620
38%
Арбитраж
39
23% / 64%
Просрочено
93
15%
Свободен
5
Разработчик 5
Оценка
(99)
Проекты
152
32%
Арбитраж
22
23% / 55%
Просрочено
3
2%
Работает
6
Разработчик 6
Оценка
(66)
Проекты
143
34%
Арбитраж
11
9% / 55%
Просрочено
26
18%
Работает
7
Разработчик 7
Оценка
(3)
Проекты
6
0%
Арбитраж
3
33% / 33%
Просрочено
1
17%
Свободен
8
Разработчик 8
Оценка
(24)
Проекты
27
33%
Арбитраж
2
100% / 0%
Просрочено
1
4%
Свободен
9
Разработчик 9
Оценка
(15)
Проекты
37
62%
Арбитраж
1
0% / 100%
Просрочено
1
3%
Свободен
10
Разработчик 10
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
11
Разработчик 11
Оценка
(1)
Проекты
1
0%
Арбитраж
1
0% / 100%
Просрочено
0
Свободен

Информация о проекте

Бюджет
100+ USD
Исполнителю
90 USD
Сроки выполнения
до 15 дн.