...It's time for financial transactions...

Main menu

О настройках советников, индикаторов и скриптов

Данная, несколько “водянистая” статья, явилась прообразом следующей статьи на  mql5.com, рекомендуемой к прочтению.

Когда трейдер запускает на выполнение некий советник, индикатор, скрипт (в дальнейшем сценарий), то до начала выполнения сценария на экран будет вызвано окно с некоторыми вкладками, среди которых есть вкладка “Входные Параметры”.

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

Навскидку можно назвать несколько причин этого:

  1. Невозможность хранить массивы и более сложные агрегаты.
  2. Необходимость держать постоянно в памяти все настройки, даже второстепенные.
  3. Невозможность форматирования. Если нужно визуально выделить что то заголовком, то такой заголовок придется создавать в виде настройки.

Действительно, если в настройках советника есть параметр “Проскальзывание”, то часто ли его меняют? Один раз, возможно два. Такой параметр не подстраивают каждый день. Или предположим, что в начале работы индикатору нужно выполнить инициализацию либо одной, либо другой настраиваемой структуры. Параметры обеих структур придется хранить постоянно в памяти, а понадобится только половина из них.

В целях повышения гибкости, разнообразия, удобства способов хранения, редактирования и использования параметров настроек сценариев имеет смысл рассмотреть дополнительные возможности. Автор этих строк считает наиболее приемлемым способ хранения в обычных текстовых файлах. Действительно, создается текстовый файл с определенным содержимым и кладется в папку <Каталог Данных>\MQL4\Files\. В любой момент сценарий может обратиться к этому файлу и прочитать его целиком, либо какую то часть. Средства работы с файлами в MQL имеются в достаточном количестве, как и способы преобразования прочитанных данных из строк в прочие типы.

Leave a Reply

Your email address will not be published.

ten + seventeen =