Jump to content
Sign in to follow this  
Programmer

ZG_All_Quotings - MOD K

Recommended Posts

Programmer

Предыстория

 

Всем привет!

 

За прошедшие несколько недель меня несколько раз спросили о тестировании на истории, загрузке котировок и увеличении промежутка тестирования. Сегодня мы поговорим именно на эти темы.

 

Для того, чтобы проводить качественное тестирование на истории Вашего любимого ДЦ, необходимо иметь загруженные котировки. Однако, как Вы вероятно знаете, зажимая кнопку HOME можно прокрутить график назад лишь до определенного момента. Это не так страшно на H1 и D1, но вот если для тестирования Вам нужны более низкие ТФ, то возникают определенные проблемы.

 

Особенно это заметно на M1. На свежем терминаое обычно M1 можно прокрутить лишь на примерно 2-3 месяца назад. Поэтому, чтобы иметь в своем терминале хороший запас M1 котировок (6 мес. и более) необходимо периодически прокручивать график назад, чтобы он подхватывал все новые бары. Если это делать для нескольких инструментов, то рано или поздно данная процедура зажимания кнопки HOME надоест даже самым усидчивым трейдерам.

 

В связи с этим возникает вопрос об автоматизации зажимания кнопки HOME... И это минимум. В идеале, хотелось бы, чтобы скрипт пробегал все интсрументы и скачивал историю в фоновом режиме.

 

:search:

Share this post


Link to post
Share on other sites
Programmer

Скрипт

 

После долгих поисков' date=' я наткнулся именно на такой скрипт.

Называется он [b']ZG_All_Quotings v3.2[/b], автор Zhunko:

 

http://codebase.mql4.com/ru/7110

 

Есть еще версия v4.1:

 

http://codebase.mql4.com/ru/7484

 

Однако, я предпочитаю v3.2. Эти версии развивались параллельно, и с моей точки у v3.2 больше преимуществ.

 

Что делает данный скрипт?

Скрипт ZG_All_Quotings делает именно то, что нам нужно - пробегает по всем инструментам в обзоре рынка и скачивает все котировки для всех ТФ этого инструмента. Великолепие данного скрипта в том, что все делается в фоновом режиме. Т.е. хоть кнопка HOME и зажата, это не влияет на работу других программ, и более того - даже в самом МТ4 можно спокойно работать на других графиках.

 

Выкладываю индикатор и все прилагаемые DLL тут, более подробное описание и инструкция доступны по ссылке выше.

 

:drv:

ZG_All_Quotings_3_20130814.zip

Edited by Programmer

Share this post


Link to post
Share on other sites
Programmer

Проблема

 

После попыток использования индикатора, я заметил небольшой глюк, который постоянно обрывал процесс скачивание истории.

 

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

 

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

 

Автор учел этот момент, и для решения этой проблемы в скрипте предлагается настраиваемый параметр glAQ_Pause - Пауза в секундах между итерациями. Если увеличить этот параметр, то промежуток времени между шагами будет дольше, что будет давать терминалу больший запас времени, чтобы загрузить историю.

 

Однако, что автор не учел, так это то, что если заметно увеличить этот параметр (например, до 1 секунды), то скачка истории по всем парам превращается во много- много-часовое занятие.

 

:showpicture:

Share this post


Link to post
Share on other sites
Programmer

Решение - MOD K

 

Для решения этой проблемы, я создал ZG_All_Quotings MOD K

 

Я решил разделить скачку истории и определение скриптом момента достижения самой левой точки графика. Теперь скрипт скачивает историю в "быстром" режиме - примерно 0.2 секунды между шагами. А когда наталкивается на 5 подряд идущих неудачных попытки, то он увеличивает задержку между шагами до 1 секунды и пытается сделать еще 5 попыток. Если удается сделать хоть один шаг, то скачка скрипт опять уменьшает задержку до 0.2 сек и скачка продолжается в "быстром" режиме до следующей остановки. Если же за пять секунд (5 попыток x 1 сек) не было сделано ни одного шага, то считается, что история для данного ТФ данного инструмента скачана успешно.

 

Вот такое вот простое решение нетривиальное проблемы.

Скрипт находится в приложении. На самом деле, это очень полезная утилита, я ей пользуюсь примерно 1 раз в две недели и проблем с историей нет.

 

Если есть вопросы по скрипту - пишите, обязательно помогу :beer_drink:

Кирилл

ZG_All_Quotings_3_20130814_MOD_K.rar

  • Downvote 1

Share this post


Link to post
Share on other sites
AntFX

Спасибо! Полезная штука (если работает как надо :) )

Мне тоже пригодится

Edited by AntFX
  • Thanks 1

1

Share this post


Link to post
Share on other sites
AntFX

В новых билдах 600+ скрипт работать будет? Хотя бы в виде скопированного из 509 .ex4

Edited by AntFX

1

Share this post


Link to post
Share on other sites
Programmer
В новых билдах 600+ скрипт работать будет? Хотя бы в виде скопированного из 509 .ex4

 

Приветствую,

 

Проверил - у меня скрипт работает в 600м терминале. Скрин прилагается:

 

post-50854-1404220777,0603_thumb.jpg

 

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

 

post-50854-1404220777,0244_thumb.jpg

 

Кирилл

Share this post


Link to post
Share on other sites
AntFX

И правда, работает... Что-то я не так запускал, значит


1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×