« Предыдущий пост | На главную страницу | Следующий пост »

Реализация глобального массива: обзор задачи

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

Очень часто перед трейдером стоит задача сохранения массивов данных (список тикеров позиций, открытых этим экспертом, и т.д.) в глобальных переменных.

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

Функции для работы с такими массивами:

  • AddItem()
  • DeleteItem()
  • GetItem()
  • Count()
  • Search()
  • BSearch
  • Sort()

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

Итак, давайте попробуем описать, в каком формате у нас будет храниться глобальный массив.

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

Тогда:

  • Количество элементов массива будет находится в глобальной переменной global_array_name+"Count".
  • Глобальная переменная с именем global_array_name+"Lock" используется в качестве критической секции при вызове функций для работы с этим массивом.
  • Элементы массива будут находится в переменных global_array_name+"1", global_array_name+"2" и т.д.
  • Если в переменной global_array_name+"IsSorted" находится ненулевое значение, то массив отсортирован. В противном случае - неотсортированный.

Теперь мы знаем достаточно, чтобы создать необходимые функции для работы глобальным массивом. В следующем выпуске я расскажу о функции Count().



Все статьи по теме "Пишем советников для MetaTrader 4".

« Предыдущий пост | На главную страницу | Следующий пост »

Комментарии по теме "Реализация глобального массива: обзор задачи"

Здравствуйте, Андрей.

Почему trailing stop в платформе MetaTraider 4 не работает? Мне посоветовали устанавливать stop loss также when I place an order.
Ответьте пожалуйста на мой
адрес ndene1@comcast.net

Спасибо,
Наум Дененберг

Трейлинг стоп в Метатрейдер РАБОТАЕТ.

Подробности тут:
http://www.vedikhin.ru/2006/01/mt4userguide_trailing_stop.html

Подписаться на мою рассылку



Размещение статьи "Реализация глобального массива: обзор задачи" на Вашем сайте

Размещение статьи "Реализация глобального массива: обзор задачи" на Вашем сайте возможно при условии выполнениия следующих условий:

  • Запрещается изменение оригинального текста без согласия автора - Андрея Ведихина.
  • Должен быть указан первоисточник. В случае публикации в интернете Вы должны разместить следующий код гиперссылки без изменений:
  • Запрещается коммерческое использование материалов, взятых с блога "Интернет-трейдинг на форекс / forex". Доступ к ним должен быть свободным, без взимания какой-либо платы, без обязательной регистрации и/или заполнения опросного листа (анкеты) и т.д.

В случае выполнения данных условий не требуется согласия автора блога "Интернет-трейдинг на форекс / forex" на размещение статьи "Реализация глобального массива: обзор задачи" на Вашем сайте.

Журнал FOREX MAGAZINE:



Архив номеров FOREX MAGAZINE
Котировки Forex:

Счетчики:

Авторские права © 2005-2006 Андрей Ведихин

Условия использования материалов блога "Интернет-трейдинг на форекс / forex"

Контакты с автором:


Движок сайта:
Movable Type 5.04