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

MQL5 Esperti Script

Lavoro terminato

Tempo di esecuzione 21 giorni
Feedback del cliente
Все четко, без лишних вопросов. Конечно были сложности, ошибки, но все поправлено и показано, как лучше использовать. Чуток не совпали по времени, но в целом все хорошо.

Specifiche

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

Разработать скрипт, который будет считывать и писать в файлы формата 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 во вложении.


Con risposta

1
Sviluppatore 1
Valutazioni
(279)
Progetti
650
28%
Arbitraggio
111
19% / 61%
In ritardo
319
49%
In elaborazione
2
Sviluppatore 2
Valutazioni
(45)
Progetti
50
34%
Arbitraggio
14
7% / 64%
In ritardo
15
30%
Gratuito
3
Sviluppatore 3
Valutazioni
(341)
Progetti
588
36%
Arbitraggio
31
45% / 3%
In ritardo
16
3%
Gratuito
4
Sviluppatore 4
Valutazioni
(336)
Progetti
620
38%
Arbitraggio
39
23% / 64%
In ritardo
93
15%
Gratuito
5
Sviluppatore 5
Valutazioni
(99)
Progetti
152
32%
Arbitraggio
22
23% / 55%
In ritardo
3
2%
In elaborazione
6
Sviluppatore 6
Valutazioni
(66)
Progetti
143
34%
Arbitraggio
11
9% / 55%
In ritardo
26
18%
In elaborazione
7
Sviluppatore 7
Valutazioni
(3)
Progetti
6
0%
Arbitraggio
3
33% / 33%
In ritardo
1
17%
Gratuito
8
Sviluppatore 8
Valutazioni
(24)
Progetti
27
33%
Arbitraggio
2
100% / 0%
In ritardo
1
4%
Gratuito
9
Sviluppatore 9
Valutazioni
(15)
Progetti
37
62%
Arbitraggio
1
0% / 100%
In ritardo
1
3%
Gratuito
10
Sviluppatore 10
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
11
Sviluppatore 11
Valutazioni
(1)
Progetti
1
0%
Arbitraggio
1
0% / 100%
In ritardo
0
Gratuito

Informazioni sul progetto

Budget
100+ USD
Per lo sviluppatore
90 USD
Scadenze
a 15 giorno(i)