Починка истории

ZNV

Активный участник
Здравствуйте.

Столкнулся с проблемой, может кто подскажет решение. Если получиться сделать, выложу сюда инструмент.

Котировки в терминале, скачанные или родные, имеют дыры - отсутствующие бары. От сюда возникает 2 вопроса:

1. Можно ли средством mql4 сделать добавление в базу записи / бара? Как?
2. Если да, то не происходит ли автообновление котировок в МТ4, и не удалятся ли внесенные изменения?

Спасибо.

ps: да, важно, т.к. для ТС требующей определенное кол-во баров за период.
 

Genry_05

Отдыхает
Здравствуйте.

Столкнулся с проблемой, может кто подскажет решение. Если получиться сделать, выложу сюда инструмент.

Котировки в терминале, скачанные или родные, имеют дыры - отсутствующие бары. От сюда возникает 2 вопроса:

1. Можно ли средством mql4 сделать добавление в базу записи / бара? Как?
2. Если да, то не происходит ли автообновление котировок в МТ4, и не удалятся ли внесенные изменения?

Спасибо.

ps: да, важно, т.к. для ТС требующей определенное кол-во баров за период.
День добрый
Найдите и прочтите статью Как тестировать советники с точностью 99,9% с помощью Tickstory Lite
это поможет получить качество котировок от Ducaskopy.

ЛАЙТ - бесплатная версия, поэтому глубина починки котировок - 1 год.

для поиска дыр можно использовать скрипт history_data_analysis.mq4
Успехов!!
 

Вложения

  • history_data_analysis.mq4
    28,9 КБ · Просмотры: 8
Последнее редактирование:

ZNV

Активный участник
День добрый
Найдите и прочтите статью Как тестировать советники с точностью 99,9% с помощью Tickstory Lite
это поможет получить качество котировок от Ducaskopy.

ЛАЙТ - бесплатная версия, поэтому глубина починки котировок - 1 год.

для поиска дыр можно использовать скрипт history_data_analysis.mq4
Успехов!!
Спасибо. Определять программно дыры не проблема. Просмотрел статью, для меня сильно морочливо, т.к. баз много...
Тем более мне не важно значение бара, а нужно только пустое место заполнить.
Ищу способ именно через mql4 занести в котировки бар...
 

Genry_05

Отдыхает
Спасибо. Определять программно дыры не проблема. Просмотрел статью, для меня сильно морочливо, т.к. баз много...
Тем более мне не важно значение бара, а нужно только пустое место заполнить.
Ищу способ именно через mql4 занести в котировки бар...
тогда может в помощь этот поход
была статья на мукле Графики без "дыр"
--------------------------------------------------

автор текста ниже Fx-VladMih доработал скрипт из этой статьи в AllMinutes_Step1R
можно скачать в его блоге (я не скачивал)
....
Обзор подготовлен VladMih путем творческой переработки первоисточника.

Исходные четыре скрипт
Архив состоит из:
• скрипта, анализирующего график на наличие дыр и разрывов, именуемого history_data_analysis
• скрипта, восполняющего в режиме автономного графика пропуски (по уровню предыдущего бара, отображая O=H=L=C), именуемого AllMinutes_Step1
• скрипта, конвертирующего файл .hst в файл .csv, именуемого hst2csv
• скрипта, генерирующего таймфреймы более высокого уровня по данным представленным в истории котировок, именуемого period_converter_ALL.
Модифицированный скрипт AllMinutes_Step1R
Теперь небольшой текст, что со всем этим делать.
Исследования показали, что наиболее подходящую историю для тестирования предоставляет Альпари. Т.е. скачиваем минутки с нужной глубиной истории.
• Проводится анализ отсутствующих участков и в наиболее вопиющих местах вставляются заплатки.
Для этого запускаем скрипт history_data_analysis. Ждем появления прямо на поле графика планки с сообщением о том, что скрипт завершил свою работу и отчет готов. Идем в папку \experts\files, чтобы увидеть файл отчета и понять ситуацию с пропусками на графике. Чтобы оценить ситуацию табличную часть отчета копируем. Создаем новый файл формата"Эксель" и вставляем в него эти данные (которые четко занимают положенные ячейки и становятся полноценной таблицей). Затем, используя функцию "сортировка" (сначала сортируем по убыванию столбец "Гэпы", затем сортируем по убываю столбец "Размер (баров)", затем столбец "Диапазон"), выявляем самые критичные места.
Далее все альтернативные базы поочередно открываются в виде "Блокнота". Затем ищем данные по первому проблемному участку, которые при помощи функции "поиск" быстро отыскиваются (по дате и времени) не хватающие участки котировок (или становится понятно, что их нет). В случае обнаружения данные копируются в отдельный файл, формат txt, и сохраняются. После чего файл доимпортируются к общей истории.
Модифицированным скриптом заполняются дыры длиной до 40 баров. Этот параметр можно изменять при запуске скрипта.
"Котировки отсутствующих баров рассчитываются по следующему алгоритму, то бишь лесенкой:"
(КзДо-КоПос)/(КолОтсБар+1) - это дельта, добавляемая к КзДо и каждому последующему добавляемому бару
КзДо - котировка закрытия бара ДО разрыва котировок
КоПос - котировка открытия бара ПОСЛЕ разрыва
КолОтсБар - количество отсутствующих баров

В результате получаем файл офлайн графика с расширением .hst. Если не требуется дополнительного редактирования то через меню Архив котировок просто импортируем полученный файл. При необходимости его сохранить в текстовом формате запускаем скрипт hst2csv.
Итого имеем котировки подготовленные для использования при оптимизации советников.
 
Последнее редактирование:

ZNV

Активный участник
тогда может в помощь этот поход
была статья на мукле Графики без "дыр"
--------------------------------------------------

автор текста ниже Fx-VladMih доработал скрипт из этой статьи в AllMinutes_Step1R
можно скачать в его блоге (я не скачивал)
....
Обзор подготовлен VladMih путем творческой переработки первоисточника.

Исходные четыре скрипт
Архив состоит из:
• скрипта, анализирующего график на наличие дыр и разрывов, именуемого history_data_analysis
• скрипта, восполняющего в режиме автономного графика пропуски (по уровню предыдущего бара, отображая O=H=L=C), именуемого AllMinutes_Step1
• скрипта, конвертирующего файл .hst в файл .csv, именуемого hst2csv
• скрипта, генерирующего таймфреймы более высокого уровня по данным представленным в истории котировок, именуемого period_converter_ALL.
Модифицированный скрипт AllMinutes_Step1R
Теперь небольшой текст, что со всем этим делать.
Исследования показали, что наиболее подходящую историю для тестирования предоставляет Альпари. Т.е. скачиваем минутки с нужной глубиной истории.
• Проводится анализ отсутствующих участков и в наиболее вопиющих местах вставляются заплатки.
Для этого запускаем скрипт history_data_analysis. Ждем появления прямо на поле графика планки с сообщением о том, что скрипт завершил свою работу и отчет готов. Идем в папку \experts\files, чтобы увидеть файл отчета и понять ситуацию с пропусками на графике. Чтобы оценить ситуацию табличную часть отчета копируем. Создаем новый файл формата"Эксель" и вставляем в него эти данные (которые четко занимают положенные ячейки и становятся полноценной таблицей). Затем, используя функцию "сортировка" (сначала сортируем по убыванию столбец "Гэпы", затем сортируем по убываю столбец "Размер (баров)", затем столбец "Диапазон"), выявляем самые критичные места.
Далее все альтернативные базы поочередно открываются в виде "Блокнота". Затем ищем данные по первому проблемному участку, которые при помощи функции "поиск" быстро отыскиваются (по дате и времени) не хватающие участки котировок (или становится понятно, что их нет). В случае обнаружения данные копируются в отдельный файл, формат txt, и сохраняются. После чего файл доимпортируются к общей истории.
Модифицированным скриптом заполняются дыры длиной до 40 баров. Этот параметр можно изменять при запуске скрипта.
"Котировки отсутствующих баров рассчитываются по следующему алгоритму, то бишь лесенкой:"
(КзДо-КоПос)/(КолОтсБар+1) - это дельта, добавляемая к КзДо и каждому последующему добавляемому бару
КзДо - котировка закрытия бара ДО разрыва котировок
КоПос - котировка открытия бара ПОСЛЕ разрыва
КолОтсБар - количество отсутствующих баров

В результате получаем файл офлайн графика с расширением .hst. Если не требуется дополнительного редактирования то через меню Архив котировок просто импортируем полученный файл. При необходимости его сохранить в текстовом формате запускаем скрипт hst2csv.
Итого имеем котировки подготовленные для использования при оптимизации советников.
Спасибо!
 
Верх