Скрипты: Конвертирование реальных тиковых данных в FXT-файлы тестера стратегий - страница 7

 
Добрый день, Игорь. Подскажите пожалуйста, верно ли я расставил шаги и каких не хватает...
Я хочу протестировать стратегию на range-барах в MT4.
Для этого:
1) Скриптом TickFromMT5ToTicksFile (Для МТ5) я создал тиковый файл формата *.TKS который находится по адресу C:\MQL5\Files, что мне дальше нужно с этим файлом сделать? Переместить в C:\MQL4\Files ?
2) Если я правильно понимаю, нужно преобразовать файл тиковой истории формата *.TKS (из МТ5) в файл формата *.FXT (для МТ4)  воспользовавшись Вашим скриптом FXTFileMaker_Script_AD.mq4 , но у меня скрипт выдает "ошибку"
Файлы:
1_2021.jpg  296 kb
2_2021.jpg  332 kb
 

GT56:
Добрый день, Игорь. Подскажите пожалуйста, верно ли я расставил шаги и каких не хватает...
Я хочу протестировать стратегию на range-барах в MT4.
Для этого:
1) Скриптом TickFromMT5ToTicksFile (Для МТ5) я создал тиковый файл формата *.TKS который находится по адресу C:\MQL5\Files, что мне дальше нужно с этим файлом сделать? Переместить в C:\MQL4\Files ?

Да, тут все правильно. После закачки тиков в МТ5 генерируется файл, который располагается в папке терминала МТ5 (MQL5\Files). Для использования полученного файла в МТ4 нужно переместить его в папку терминала МТ4 - MQL4\Files.


2) Если я правильно понимаю, нужно преобразовать файл тиковой истории формата *.TKS (из МТ5) в файл формата *.FXT (для МТ4)  воспользовавшись Вашим скриптом FXTFileMaker_Script_AD.mq4 , но у меня скрипт выдает "ошибку"

Да, скрипт проверяет соответствие заданного интервала тестирования тем данным, которые имеются в тиковом файле. Тиковый файл должен полностью покрывать заданный интервал тестирования. В Вашем случае задано окончание интервала тестирования - 2021.03.23 00:00, а последний тик в тиковом файле - 2021.03.22 11:01:43. То есть не хватает тиков для почти 13 часов тестирования. Для решения проблемы есть два способа:

  1. Простой. Задать другой интервал тестирования, который начинается не ранее, чем 2019.11.01 00:00 (это первый тик в тиковом файле) и заканчивается не позднее, чем 2021.03.22 11:01:43 (последний тик в тиковом файле). Например, начальная дата/время периода тестирования - 2021.03.01 00:00, конечная дата/время периода тестирования - 2021.03.22 00:00.
  2. Более сложный. Сгенерировать скриптом TickFromMT5ToTicksFile тиковый файл, который начинается 2021.03.22 00:00 и заканчивается чуть позднее, чем 2021.03.23 00:00.
 
Игорь, спасибо большое за ответ! Еще такой вопрос... можно ли убрать разрывы при тестировании? И что бы следующая свеча в тестере открывалась по цене закрытия предыдущей?  (высота бара 15 пипсов)
Файлы:
3_2021.jpg  565 kb
 
GT56:
можно ли убрать разрывы при тестировании? И что бы следующая свеча в тестере открывалась по цене закрытия предыдущей?  (высота бара 15 пипсов)

В принципе сделать это можно. Но нужно понимать, что в итоге получится. А получится идеальный график, тестировать на котором - обманывать самого себя. Я такое когда-то делал на заказ. В итоге получил кучу негатива, потому что тест показывал супер Грааль, а в реальности все оказывалось достаточно плачевно. Не хотелось бы повторять такой опыт.

 
Игорь, у меня к вам как к специалисту вопрос, нигде не могу найти. Для моделирования мне нужно создать в МТ4 файл FXT c искусственными тиками, например, "пилой" - час цена растет каждую минуту на Х пунктов, след час падает, итп. Подскажите пож., есть ли готовые скрипты подобного рода? Или в каком скрипте можно поставить свою формулу?
 
Tovirt #:
Игорь, у меня к вам как к специалисту вопрос, нигде не могу найти. Для моделирования мне нужно создать в МТ4 файл FXT c искусственными тиками, например, "пилой" - час цена растет каждую минуту на Х пунктов, след час падает, итп. Подскажите пож., есть ли готовые скрипты подобного рода? Или в каком скрипте можно поставить свою формулу?

Для создания графика одной лишь формулы мало. Нужен алгоритм. Вот его и нужно вставить в этот скрипт. 

Если нет желания или возможности возиться с алгоритмами в коде, то могу предложить следующий алгоритм действий:

  1. Создать тиковый поток в Excel при помощи имеющейся формулы и сохранить в csv.
  2. Конвертировать csv-файл в tks-файл при помощи скрипта.

  3. Полученный тиковый файл преобразовать текущим скриптом.

CSV to tick file
CSV to tick file
  • www.mql5.com
Конвертирует CSV-файл тиков в формат TKS, используемый сборщиком тиков.
 
Спасибо, попробую
 

Игорь, добрый день. Пока не получается.

1. Создал csv файл

2. Успешно прогнал CSVtoTKSConverter, скрипт создал tks файл

3. Далее успешно прогнал fxtfilemaker_anydata_script_ad, FXT создался в папке history c атр. read only. В параметрах скрипта ставил баров до начала теста 0, спред 0, тип графика same time, период 1

4. В тестере при запуске любого эксперта выдает: TestGenerator: file "E:\FRX\F4U_Terminal\tester\history\EURUSD1_0.fxt" cannot open [5]
Терминал запускал с ключом /portable, версия терминала 4.0. build 1353  16 Dec 2021

При этом FXT, созданные при помощи известной программы tick story. exe с реальной историей - работают.

С чем это может быть связано? Может быть не та версия FXT создается? Обратного конвертера из FXT, который читает структуру его заголовка, у меня нет.

Файлы в приложении.

Файлы:
Files.zip  230 kb
 
Tovirt #:

Игорь, добрый день. Пока не получается.

1. Создал csv файл

2. Успешно прогнал CSVtoTKSConverter, скрипт создал tks файл

3. Далее успешно прогнал fxtfilemaker_anydata_script_ad, FXT создался в папке history c атр. read only. В параметрах скрипта ставил баров до начала теста 0, спред 0, тип графика same time, период 1

В МТ4 нет периода 1 секунда. Минимум можно поставить 60 - 1 минута. 

4. В тестере при запуске любого эксперта выдает: TestGenerator: file "E:\FRX\F4U_Terminal\tester\history\EURUSD1_0.fxt" cannot open [5]

Проверил Ваш файл. Действительно, не читается тестером. Скорее всего, из-за неправильного периода. Если установить период 60, то все нормально проходит.

 
@Ihor Herasko изменение периода на 60 не помогло, такая же ошибка. 
Файлы:
Files.zip  154 kb
Причина обращения: