Официальный сайт Булл Трейдерс

Создание программ экспертов

Пояснение на практике методов создания экспертов

Написание и тестирование экспертов в торговой системе MetaTrader имеет ряд особенностей

создание программ экспертов
создание программ экспертов

Написание и тестирование экспертов в торговой системе MetaTrader имеет ряд особенностей. Перед открытием позиции необходимо проверить, есть ли свободные деньги на счете. Если денег на счете недостаточно, то операция по открытию позиции закончится неудачно. При этом только при тестировании значение "FreeMargin" должно быть обязательно не меньше 1000, поскольку при тестировании цена одного лота составляет 1000. 01. | if (AccountFreeMargin() < 1000) return(0); //денег нет – выходим Доступ к историческим данным можно получить, используя индексированные предопределенные массивы Time, Open, Low, High, Close, Volume. Исторически сложилось так, что индекс в этих массивах растет от конца к началу. Т.е., самые последние данные имеют индекс 0. Индекс 1 означает данные со смещением один период назад, индекс 2 - два периода назад, 3 - три периода назад и т.д.. 01. | // если Close на прошлом баре меньше, чем 02.

методы создания экспертов
методы создания экспертов

| // Close на позапрошлом баре 03. | if (Close[1] < Close[2]) return(0); Возможна также организация доступа к историческим данным по другим временным интервалам и даже по другим валютным парам. Для получения таких данных следует предварительно определить одномерный массив и выполнить операцию копирования с помощью функции "ArrayCopySeries". Причем при вызове функции можно передавать меньшее количество параметров и не указывать параметры по умолчанию. 01. | double eur_close_m1[]; 02. | int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, 03. |_________ "EURUSD", PERIOD_M1);