Обсуждение статьи "Собственное представление торговой истории и создание графиков для отчетов" - страница 2

 
Aleksey Vyazmikin:

Возможно я не так объясняю, с архивом скачался файл "dealHistory.csv", в нём уже есть данные, я так понимаю на них будет строится отчет. А, как сделать, что бы отчет строился на моих данных?

Теперь понял Вас. Вы запускаете оба теста. В скрипте что я приложил есть 2 теста, первый - данные берутся из файла. Второй - данные берутся из терминала по Вашей истории. 

 
Andrey Azatskiy:

Теперь понял Вас. Вы запускаете оба теста. В скрипте что я приложил есть 2 теста, первый - данные берутся из файла. Второй - данные берутся из терминала по Вашей истории. 

А как их переключать?

 
Вам нужен второй тест. Вообще можно и самому написать свой тест. файл DealHistoryGetter.mqh - создает отчет истории а файл ReportGetter.mqh - рассчитывает описанные показатели в статье. 
Я несколько модифицировал эти файлы уже и сейчас вторую статью пишу, где приложу новую версию данных классов, там больше показателей включил и несколько улучшил код.
 
Aleksey Vyazmikin:

А как их переключать?

Переключение я не реализовал, тестовый скрипт вначале строит тесты по истории из файла, а затем повторяет тесты по истории из терминала. Либо вручную закоентировать ненужное, либо свой тест писать. Или же указать путь к тестовому файлу с записанной историей и пройтись по всем тестам (по моей истории и по Вашей)

 
Andrey Azatskiy:
Вам нужен второй тест. Вообще можно и самому написать свой тест. файл DealHistoryGetter.mqh - создает отчет истории а файл ReportGetter.mqh - рассчитывает описанные показатели в статье. 
Я несколько модифицировал эти файлы уже и сейчас вторую статью пишу, где приложу новую версию данных классов, там больше показателей включил и несколько улучшил код.

Для включения второго теста достаточно закомментировать?

//void test_1(string pathToFile_historyData);
void test_2(string pathToDir);

Я изменил пути к файлам

//input string data_file_name      ="C:\\MQL5 тест сохранения истории\\dealHistory.csv";    // путь к CSV-файлу с историей
input string data_file_name ="C:\Program Files\Открытие Брокер\MQL5\Files\\dealHistory.csv";    // путь к CSV-файлу с историей
//input string report1_folder_name ="C:\\MQL5 тест_1 для сохранения отчета";                // папка для выгрузки результатов теста #1
//input string report2_folder_name ="C:\\MQL5 тест_2 для сохранения отчета";                // папка для выгрузки результатов теста #2
input string report1_folder_name ="C:\Program Files\Открытие Брокер\MQL5\Files\1";                // папка для выгрузки результатов теста #1
input string report2_folder_name ="C:\Program Files\Открытие Брокер\MQL5\Files\2";                // папка для выгрузки результатов теста #2

В итоге получаю ошибки:

2018.09.01 18:48:38.386 Get_TradingHistory (GAZR Splice,H1)     Failed FindFirstFile ("C:\Program Files\Открытие Брокер\MQL5\Files ") with error: 7b
2018.09.01 18:48:38.386 Get_TradingHistory (GAZR Splice,H1)     Failed CreateDirectoryW ("C:\Program Files\Открытие Брокер\MQL5\Files ") with error: 7b
2018.09.01 18:48:38.391 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Графики PL.csv
2018.09.01 18:48:38.394 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Гистограмма PL.csv
2018.09.01 18:48:38.395 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \PL по дням.csv
2018.09.01 18:48:38.396 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Крайние точки.csv
2018.09.01 18:48:38.397 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Абсолютные показатели прибыли и убытка.csv
2018.09.01 18:48:38.398 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Проценты кол-ва сделок.csv
2018.09.01 18:48:38.399 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Таблица основных показателей.csv
2018.09.01 18:48:38.400 Get_TradingHistory (GAZR Splice,H1)     Error CopyFile C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\Common\Files\temp.csv to C:\Program Files\Открытие Брокер\MQL5\Files \Краткая сводка по графику PL.csv
2018.09.01 18:48:38.436 Get_TradingHistory (GAZR Splice,H1)     An error occurred while test_11 !
2018.09.01 18:49:29.246 Get_TradingHistory (GAZR Splice,H1)     zero divide in 'DealHistoryGetter.mqh' (432,60)
 
Aleksey Vyazmikin:

Для включения второго теста достаточно закомментировать?

Я изменил пути к файлам

В итоге получаю ошибки:

Да, если закомментировать test_1(data_file_name,report1_folder_name); то будет запущен лишь второй тест.

1) Ну получается открыть файл с приложеной историей по пути "C:\Program Files\Открытие Брокер\MQL5\Files " - Либо права, либо из за того что пробел затисался, Вы кстати вроде вытаетесь открыть папку как файл.
2) Ну получается создать директорию по переданному Вами пути
3) Не получается создать csv файлы по переданному Вами пути
4) Деление на нуль (но этого не может быть если история была  открыта верно, ведь при первой итеррации в Array с лотами заносится самое первое значение).


Могу посоветовать Вам изменить директорию с файлами на рабочий стол к примеру.

 
И кстати при передачи пути бэкслеш нужно экронировать (писать \\)
 

Поправил я пути

//input string data_file_name      ="C:\\MQL5 тест сохранения истории\\dealHistory.csv";    // путь к CSV-файлу с историей
input string data_file_name ="C:\\Program Files\\Открытие Брокер\\MQL5\\Files\\dealHistory.csv";    // путь к CSV-файлу с историей
//input string report1_folder_name ="C:\\MQL5 тест_1 для сохранения отчета";                // папка для выгрузки результатов теста #1
//input string report2_folder_name ="C:\\MQL5 тест_2 для сохранения отчета";                // папка для выгрузки результатов теста #2
input string report1_folder_name ="C:\\Program Files\\Открытие Брокер\\MQL5\\Files\\1";                // папка для выгрузки результатов теста #1
input string report2_folder_name ="C:\\Program Files\\Открытие Брокер\\MQL5\\Files\\2";                // папка для выгрузки результатов теста #2

Остались такие ошибки

2018.09.01 18:59:09.799 Get_TradingHistory (GAZR Splice,H1)     An error occurred while test_11 !
2018.09.01 19:00:01.201 Get_TradingHistory (GAZR Splice,H1)     zero divide in 'DealHistoryGetter.mqh' (432,60)

В папке 1 (report1_folder_name) появились файлы, в папке 2 ничего нет. Нет и отчета сводного, кстати в какой папке его нужно искать? На графике вижу как строятся разные графики, но куда эти картинки кладутся не пойму...

Что ещё поправить?

 
Aleksey Vyazmikin:

Поправил я пути

Остались такие ошибки

В папке 1 (report1_folder_name) появились файлы, в папке 2 ничего нет. Нет и отчета сводного, кстати в какой папке его нужно искать? На графике фижу как строятся разные графики, но куда эти картинки кладутся не пойму...

Что ещё поправить?

Попробуйте заменить файл DealHistoryGetter.mqh на приложенный к данному сообщению.

Файлы:
 
Отпишитесь о результате
Причина обращения: